qsdgy

Results 7 comments of qsdgy

It's ok to flatten it. Is it possible that we specify out what are fatal / resumable / determines errors ? We could indicate it by doc / error type...

one straight forward fix which won't touch tests: ```rust fn run_command(&mut self, untagged_command: &str) -> Result { let command = self.create_command(untagged_command); let result = self.write_line(command.into_bytes().as_slice()); if result.is_err() { self.tag -=...

Surely not all write() errors can be treated as "client sent failed, server won't receive anything", I guess it's a common case. And I trust that when the ErrorKind is...

If someone (like poor me) doesn't lucky enough to operate with smoothly network, man has to using a tcpstream with [r/o timeout ](https://man7.org/linux/man-pages/man7/socket.7.html#:~:text=just%20as%20if%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20the%20socket%20was%20specified%20to%20be%20nonblocking)configured (which probably **should be the default option**,...

Just in short, we should increase tag num if and only if confirming action of sending command is done, no matter whether server has received, do we?

I'm not sure but seems that every `Connection::run_command` has corresponding `Connection::readline` follows, so maybe situation of `tag n` succeed but `tag n+1` fails will never happen? ( if `tag n`...

nom seems cool, I will try it if have the chance.