For now, we'll have an implementation of the TYPE command that does nothing. We'll come back to it in the following chapters. However, a bit of explanation will come in handy, I assume.
TYPE stands for the representation type. When you're transferring data over the data connection (which is different from the command connection, which is the only one we've been using until now), you can transfer data differently.
By default, the transfer type is ASCII (the main difference is that all "" have to be transformed into ""). We'll use the image one (where you send data as you have it) to make our lives easier.
Once again, we'll go back to this implementation in later chapters.
For now, let's just add a Type command that doesn't take any argument:
Command::Type => send_cmd(&mut self.stream, ResultCode::Ok, "Transfer type changed successfully"),
OK, we're lying a bit, but we'll have to deal with it for the moment.
We're almost at the end of the basics, but there's one last command to implement before you can try accessing the server using an FTP client.