1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use super::Stream;
use super::state::WriteState;
use crate::frame::Mask;
use crate::role::RoleHelper;
use crate::error::CtrlError;
impl<IO, Role, Guard> Stream<IO, Role, Guard>
where
Role: RoleHelper,
{
#[inline]
pub fn mask_key(&self) -> Mask { self.role.mask_key() }
#[inline]
pub fn set_mask_key(&mut self, key: [u8; 4]) -> Result<(), CtrlError> {
if let WriteState::WriteHead(head) = self.write_state {
if head.is_empty() {
self.role.set_mask_key(key);
return Ok(());
}
}
Err(CtrlError::SetMaskInWrite)
}
}