pub enum PluginOp {
Show 16 variants
Init,
Test,
PluginControl(u64),
OnPluginTimeout(u64),
DecodeTransportParameter(u64),
WriteTransportParameter(u64),
LogFrame(u64),
NotifyFrame(u64),
OnFrameReserved(u64),
ParseFrame(u64),
PrepareFrame(u64),
ProcessFrame(u64),
ShouldSendFrame(u64),
WireLen(u64),
WriteFrame(u64),
Other([u8; 32]),
// some variants omitted
}
Expand description
The actual plugin operations.
FIXME: move these protoops in their respective protocols.
Variants§
Init
Operation that will always be called once the plugin got loaded.
Test
Operation with no particular meaning, only for testing purposes.
PluginControl(u64)
Plugin control operation, unspecified protocol operations called by the application.
OnPluginTimeout(u64)
Specific protocol operation when a plugin triggers some timers.
DecodeTransportParameter(u64)
Decode from the wire the QUIC transport parameter having the specified type.
WriteTransportParameter(u64)
Write to the wire the QUIC transport parameter having the specified type.
LogFrame(u64)
Provide some textual logging of the frame with specified type.
NotifyFrame(u64)
Report whether the frame was successfully acknowledged or lost.
OnFrameReserved(u64)
Callback event when the frame has been confirmed scheduling for the current packet.
ParseFrame(u64)
Converts a wire-format frame into a plugin-processable structure.
PrepareFrame(u64)
Generate a plugin-processable structure representing the next frame to send.
ProcessFrame(u64)
Process, at receiver side, the plugin-processable structure.
ShouldSendFrame(u64)
Return whether a frame of the corresponding type should be scheduled for sending in the next packet.
WireLen(u64)
Return the length of the complete frame on the wire.
WriteFrame(u64)
From a plugin-processable structure, write the frame on the wire.
Other([u8; 32])
For experimentation purposes.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PluginOp
impl<'de> Deserialize<'de> for PluginOp
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialOrd for PluginOp
impl PartialOrd for PluginOp
Source§impl Serialize for PluginOp
impl Serialize for PluginOp
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for PluginOp
impl Eq for PluginOp
impl StructuralPartialEq for PluginOp
Auto Trait Implementations§
impl Freeze for PluginOp
impl RefUnwindSafe for PluginOp
impl Send for PluginOp
impl Sync for PluginOp
impl Unpin for PluginOp
impl UnwindSafe for PluginOp
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.