pub trait Platform: Sized + 'static + Debug {
type MessagePayload: Array<Item = u8> + Clone + Debug + PartialEq + AppendCopy<u8>;
type MessageOptionBytes: Array<Item = u8> + 'static + Clone + Debug + PartialEq + AppendCopy<u8>;
type MessageOptions: Array<Item = Opt<Self::MessageOptionBytes>> + Clone + Debug + PartialEq;
type MessageIdHistory: Array<Item = Stamped<Self::Clock, Id>> + Clone + Debug;
type MessageIdHistoryBySocket: Map<SocketAddr, Self::MessageIdHistory> + Clone + Debug;
type MessageTokenHistory: Array<Item = Stamped<Self::Clock, Token>> + Clone + Debug;
type MessageTokenHistoryBySocket: Map<SocketAddr, Self::MessageTokenHistory> + Clone + Debug;
type NumberedOptions: Array<Item = (OptNumber, Opt<Self::MessageOptionBytes>)> + Clone + Debug + PartialEq;
type Clock: Clock<T = u64>;
type Socket: Socket;
}Expand description
toad configuration trait
Required Associated Types
sourcetype MessagePayload: Array<Item = u8> + Clone + Debug + PartialEq + AppendCopy<u8>
type MessagePayload: Array<Item = u8> + Clone + Debug + PartialEq + AppendCopy<u8>
What type should we use to store the message payloads?
sourcetype MessageOptionBytes: Array<Item = u8> + 'static + Clone + Debug + PartialEq + AppendCopy<u8>
type MessageOptionBytes: Array<Item = u8> + 'static + Clone + Debug + PartialEq + AppendCopy<u8>
What type should we use to store the option values?
sourcetype MessageOptions: Array<Item = Opt<Self::MessageOptionBytes>> + Clone + Debug + PartialEq
type MessageOptions: Array<Item = Opt<Self::MessageOptionBytes>> + Clone + Debug + PartialEq
What type should we use to store the options?
sourcetype MessageIdHistory: Array<Item = Stamped<Self::Clock, Id>> + Clone + Debug
type MessageIdHistory: Array<Item = Stamped<Self::Clock, Id>> + Clone + Debug
What type should we use to keep track of message IDs we’ve seen with a remote socket?
sourcetype MessageIdHistoryBySocket: Map<SocketAddr, Self::MessageIdHistory> + Clone + Debug
type MessageIdHistoryBySocket: Map<SocketAddr, Self::MessageIdHistory> + Clone + Debug
How do we track socket <> id histories?
sourcetype MessageTokenHistory: Array<Item = Stamped<Self::Clock, Token>> + Clone + Debug
type MessageTokenHistory: Array<Item = Stamped<Self::Clock, Token>> + Clone + Debug
What type should we use to keep track of message Tokens we’ve seen with a remote socket?
sourcetype MessageTokenHistoryBySocket: Map<SocketAddr, Self::MessageTokenHistory> + Clone + Debug
type MessageTokenHistoryBySocket: Map<SocketAddr, Self::MessageTokenHistory> + Clone + Debug
How do we track socket <> token histories?
sourcetype NumberedOptions: Array<Item = (OptNumber, Opt<Self::MessageOptionBytes>)> + Clone + Debug + PartialEq
type NumberedOptions: Array<Item = (OptNumber, Opt<Self::MessageOptionBytes>)> + Clone + Debug + PartialEq
What type should we use to keep track of options before serializing?