Skip to content

Commit 6447d94

Browse files
committed
Factor out wire::tcp::field::OPTIONS.
1 parent ed2c376 commit 6447d94

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/wire/tcp.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ mod field {
8080
pub const CHECKSUM: Field = 16..18;
8181
pub const URGENT: Field = 18..20;
8282

83+
pub fn OPTIONS(length: u8) -> Field {
84+
URGENT.end..(length as usize)
85+
}
86+
8387
pub const FLG_FIN: u16 = 0x001;
8488
pub const FLG_SYN: u16 = 0x002;
8589
pub const FLG_RST: u16 = 0x004;
@@ -295,9 +299,9 @@ impl<'a, T: AsRef<[u8]> + ?Sized> Packet<&'a T> {
295299
/// Return a pointer to the options.
296300
#[inline]
297301
pub fn options(&self) -> &'a [u8] {
298-
let header_len = self.header_len() as usize;
302+
let header_len = self.header_len();
299303
let data = self.buffer.as_ref();
300-
&data[field::URGENT.end..header_len]
304+
&data[field::OPTIONS(header_len)]
301305
}
302306

303307
/// Return a pointer to the payload.
@@ -481,9 +485,9 @@ impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> Packet<&'a mut T> {
481485
/// Return a pointer to the options.
482486
#[inline]
483487
pub fn options_mut(&mut self) -> &mut [u8] {
484-
let header_len = self.header_len() as usize;
488+
let header_len = self.header_len();
485489
let data = self.buffer.as_mut();
486-
&mut data[field::URGENT.end..header_len]
490+
&mut data[field::OPTIONS(header_len)]
487491
}
488492

489493
/// Return a mutable pointer to the payload data.

0 commit comments

Comments
 (0)