Skip to main content

FidlRuleIpExt

Trait FidlRuleIpExt 

Source
pub trait FidlRuleIpExt: Ip {
    type RuleWatcherMarker: ProtocolMarker<RequestStream = Self::RuleWatcherRequestStream>;
    type RuleWatcherRequestStream: RequestStream<Ok: Send, ControlHandle: Send>;
    type RuleEvent: From<RuleEvent<Self>> + TryInto<RuleEvent<Self>, Error = RuleFidlConversionError> + Unpin;
    type RuleWatcherWatchResponder: SliceResponder<Self::RuleEvent>;

    // Required method
    fn into_rule_watcher_request(
        request: Request<Self::RuleWatcherMarker>,
    ) -> RuleWatcherRequest<Self>;
}
Expand description

Observation extension for the rules part of fuchsia.net.routes FIDL API.

Required Associated Types§

Source

type RuleWatcherMarker: ProtocolMarker<RequestStream = Self::RuleWatcherRequestStream>

The “rules watcher” protocol to use for this IP version.

Source

type RuleWatcherRequestStream: RequestStream<Ok: Send, ControlHandle: Send>

The “rules watcher” request stream.

Source

type RuleEvent: From<RuleEvent<Self>> + TryInto<RuleEvent<Self>, Error = RuleFidlConversionError> + Unpin

The rule event to be watched.

Source

type RuleWatcherWatchResponder: SliceResponder<Self::RuleEvent>

The responder to the watch request.

Required Methods§

Source

fn into_rule_watcher_request( request: Request<Self::RuleWatcherMarker>, ) -> RuleWatcherRequest<Self>

Turns a FIDL rule watcher request into the extension type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl FidlRuleIpExt for Ipv4

Source§

type RuleWatcherMarker = RuleWatcherV4Marker

Source§

type RuleWatcherRequestStream = RuleWatcherV4RequestStream

Source§

type RuleEvent = RuleEventV4

Source§

type RuleWatcherWatchResponder = RuleWatcherV4WatchResponder

Source§

fn into_rule_watcher_request( request: Request<Self::RuleWatcherMarker>, ) -> RuleWatcherRequest<Self>

Source§

impl FidlRuleIpExt for Ipv6

Source§

type RuleWatcherMarker = RuleWatcherV6Marker

Source§

type RuleWatcherRequestStream = RuleWatcherV6RequestStream

Source§

type RuleEvent = RuleEventV6

Source§

type RuleWatcherWatchResponder = RuleWatcherV6WatchResponder

Source§

fn into_rule_watcher_request( request: Request<Self::RuleWatcherMarker>, ) -> RuleWatcherRequest<Self>

Implementors§