diff options
Diffstat (limited to 'src/tftp.rs')
| -rw-r--r-- | src/tftp.rs | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/src/tftp.rs b/src/tftp.rs index 72bac22..e99dcf0 100644 --- a/src/tftp.rs +++ b/src/tftp.rs | |||
| @@ -32,15 +32,24 @@ pub enum TftpOp { | |||
| 32 | Oack, | 32 | Oack, |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | impl Into<u16> for TftpOp { | 35 | impl TftpOp { |
| 36 | fn into(self) -> u16 { | 36 | pub const CODE_READ_REQUEST: u16 = 1; |
| 37 | match self { | 37 | pub const CODE_WRITE_REQUEST: u16 = 2; |
| 38 | TftpOp::ReadRequest => 1, | 38 | pub const CODE_DATA: u16 = 3; |
| 39 | TftpOp::WriteRequest => 2, | 39 | pub const CODE_ACK: u16 = 4; |
| 40 | TftpOp::Data => 3, | 40 | pub const CODE_ERROR: u16 = 5; |
| 41 | TftpOp::Ack => 4, | 41 | pub const CODE_OACK: u16 = 6; |
| 42 | TftpOp::Error => 5, | 42 | } |
| 43 | TftpOp::Oack => 6, | 43 | |
| 44 | impl From<TftpOp> for u16 { | ||
| 45 | fn from(value: TftpOp) -> Self { | ||
| 46 | match value { | ||
| 47 | TftpOp::ReadRequest => TftpOp::CODE_READ_REQUEST, | ||
| 48 | TftpOp::WriteRequest => TftpOp::CODE_WRITE_REQUEST, | ||
| 49 | TftpOp::Data => TftpOp::CODE_DATA, | ||
| 50 | TftpOp::Ack => TftpOp::CODE_ACK, | ||
| 51 | TftpOp::Error => TftpOp::CODE_ERROR, | ||
| 52 | TftpOp::Oack => TftpOp::CODE_OACK, | ||
| 44 | } | 53 | } |
| 45 | } | 54 | } |
| 46 | } | 55 | } |
| @@ -50,12 +59,12 @@ impl TryFrom<u16> for TftpOp { | |||
| 50 | 59 | ||
| 51 | fn try_from(value: u16) -> std::result::Result<Self, InvalidTftpOp> { | 60 | fn try_from(value: u16) -> std::result::Result<Self, InvalidTftpOp> { |
| 52 | match value { | 61 | match value { |
| 53 | 1 => Ok(Self::ReadRequest), | 62 | Self::CODE_READ_REQUEST => Ok(Self::ReadRequest), |
| 54 | 2 => Ok(Self::WriteRequest), | 63 | Self::CODE_WRITE_REQUEST => Ok(Self::WriteRequest), |
| 55 | 3 => Ok(Self::Data), | 64 | Self::CODE_DATA => Ok(Self::Data), |
| 56 | 4 => Ok(Self::Ack), | 65 | Self::CODE_ACK => Ok(Self::Ack), |
| 57 | 5 => Ok(Self::Error), | 66 | Self::CODE_ERROR => Ok(Self::Error), |
| 58 | 6 => Ok(Self::Oack), | 67 | Self::CODE_OACK => Ok(Self::Oack), |
| 59 | unknown => Err(InvalidTftpOp(unknown)), | 68 | unknown => Err(InvalidTftpOp(unknown)), |
| 60 | } | 69 | } |
| 61 | } | 70 | } |
| @@ -126,7 +135,7 @@ pub struct TftpReadRequestPacket { | |||
| 126 | } | 135 | } |
| 127 | 136 | ||
| 128 | impl TftpReadRequestPacket { | 137 | impl TftpReadRequestPacket { |
| 129 | pub fn write<W: Write>(&self, mut writer: W) -> Result<()> { | 138 | pub fn write<W: Write>(&self, _writer: W) -> Result<()> { |
| 130 | todo!() | 139 | todo!() |
| 131 | } | 140 | } |
| 132 | } | 141 | } |
