Module twist::server
[−]
[src]
Server API
Decode PING Base Frame from client
let ping_vec = PING.to_vec(); let mut eb = BytesMut::with_capacity(256); eb.extend(ping_vec); let mut fc: BaseFrameCodec = Default::default(); let mut encoded = BytesMut::with_capacity(256); if let Ok(Some(frame)) = fc.decode(&mut eb) { assert!(frame.fin()); assert!(!frame.rsv1()); assert!(!frame.rsv2()); assert!(!frame.rsv3()); // All frames from client must be masked. assert!(frame.masked()); assert!(frame.opcode() == OpCode::Ping); assert!(frame.mask() == 1); assert!(frame.payload_length() == 0); assert!(frame.extension_data().is_none()); assert!(frame.application_data().is_empty()); if fc.encode(frame, &mut encoded).is_ok() { for (a, b) in encoded.iter().zip(PING.to_vec().iter()) { assert!(a == b); } } } else { assert!(false); }
Structs
BaseFrame |
Represents the parts of a base frame. |
BaseFrameCodec |
Codec for encoding/decoding websocket base frames. |
HandshakeCodec |
Codec for decoding/encoding websocket server handshake frames. |
HandshakeRequestFrame |
Client handshake request data received by server. |
HandshakeResponseFrame |
Data needed to construct a server response to a client request. |
TwistCodec |
Codec for use with the |
WebSocketFrame |
A |
WebSocketProtocol |
The protocol that can bu use to run on a tokio-proto
|
Enums
OpCode |
Operation codes defined in RFC6455. |