Skip to main content

FidlRuleAdminIpExt

Trait FidlRuleAdminIpExt 

Source
pub trait FidlRuleAdminIpExt: Ip {
    type RuleTableMarker: DiscoverableProtocolMarker<RequestStream = Self::RuleTableRequestStream>;
    type RuleSetMarker: ProtocolMarker<RequestStream = Self::RuleSetRequestStream>;
    type RuleTableRequestStream: RequestStream<Ok: Send, ControlHandle: Send>;
    type RuleSetRequestStream: RequestStream<Ok: Send, ControlHandle: Send>;
    type RuleSetAddRuleResponder: Responder<Payload = Result<(), RuleSetError>, ControlHandle = Self::RuleSetControlHandle>;
    type RuleSetRemoveRuleResponder: Responder<Payload = Result<(), RuleSetError>, ControlHandle = Self::RuleSetControlHandle>;
    type RuleSetAuthenticateForRouteTableResponder: Responder<Payload = Result<(), AuthenticateForRouteTableError>, ControlHandle = Self::RuleSetControlHandle>;
    type RuleTableControlHandle: ControlHandle + Send + Clone;
    type RuleSetControlHandle: ControlHandle + Send + Clone;

    // Required methods
    fn into_rule_set_request(
        request: Request<Self::RuleSetMarker>,
    ) -> RuleSetRequest<Self>;
    fn into_rule_table_request(
        request: Request<Self::RuleTableMarker>,
    ) -> RuleTableRequest<Self>;
}
Expand description

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

Required Associated Types§

Source

type RuleTableMarker: DiscoverableProtocolMarker<RequestStream = Self::RuleTableRequestStream>

The “rule table” protocol to use for this IP version.

Source

type RuleSetMarker: ProtocolMarker<RequestStream = Self::RuleSetRequestStream>

The “rule set” protocol to use for this IP Version.

Source

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

The request stream for the rule table protocol.

Source

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

The request stream for the rule set protocol.

Source

type RuleSetAddRuleResponder: Responder<Payload = Result<(), RuleSetError>, ControlHandle = Self::RuleSetControlHandle>

The responder for AddRule requests.

Source

type RuleSetRemoveRuleResponder: Responder<Payload = Result<(), RuleSetError>, ControlHandle = Self::RuleSetControlHandle>

The responder for RemoveRule requests.

Source

type RuleSetAuthenticateForRouteTableResponder: Responder<Payload = Result<(), AuthenticateForRouteTableError>, ControlHandle = Self::RuleSetControlHandle>

The responder for AuthenticateForRouteTable requests.

Source

type RuleTableControlHandle: ControlHandle + Send + Clone

The control handle for RuleTable protocols.

Source

type RuleSetControlHandle: ControlHandle + Send + Clone

The control handle for RuleSet protocols.

Required Methods§

Source

fn into_rule_set_request( request: Request<Self::RuleSetMarker>, ) -> RuleSetRequest<Self>

Turns a FIDL rule set request into the extension type.

Source

fn into_rule_table_request( request: Request<Self::RuleTableMarker>, ) -> RuleTableRequest<Self>

Turns a FIDL rule table 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 FidlRuleAdminIpExt for Ipv4

Source§

type RuleTableMarker = RuleTableV4Marker

Source§

type RuleSetMarker = RuleSetV4Marker

Source§

type RuleTableRequestStream = RuleTableV4RequestStream

Source§

type RuleSetRequestStream = RuleSetV4RequestStream

Source§

type RuleSetAddRuleResponder = RuleSetV4AddRuleResponder

Source§

type RuleSetRemoveRuleResponder = RuleSetV4RemoveRuleResponder

Source§

type RuleSetAuthenticateForRouteTableResponder = RuleSetV4AuthenticateForRouteTableResponder

Source§

type RuleTableControlHandle = RuleTableV4ControlHandle

Source§

type RuleSetControlHandle = RuleSetV4ControlHandle

Source§

fn into_rule_set_request( request: Request<Self::RuleSetMarker>, ) -> RuleSetRequest<Self>

Source§

fn into_rule_table_request( request: Request<Self::RuleTableMarker>, ) -> RuleTableRequest<Self>

Source§

impl FidlRuleAdminIpExt for Ipv6

Source§

type RuleTableMarker = RuleTableV6Marker

Source§

type RuleSetMarker = RuleSetV6Marker

Source§

type RuleTableRequestStream = RuleTableV6RequestStream

Source§

type RuleSetRequestStream = RuleSetV6RequestStream

Source§

type RuleSetAddRuleResponder = RuleSetV6AddRuleResponder

Source§

type RuleSetRemoveRuleResponder = RuleSetV6RemoveRuleResponder

Source§

type RuleSetAuthenticateForRouteTableResponder = RuleSetV6AuthenticateForRouteTableResponder

Source§

type RuleTableControlHandle = RuleTableV6ControlHandle

Source§

type RuleSetControlHandle = RuleSetV6ControlHandle

Source§

fn into_rule_set_request( request: Request<Self::RuleSetMarker>, ) -> RuleSetRequest<Self>

Source§

fn into_rule_table_request( request: Request<Self::RuleTableMarker>, ) -> RuleTableRequest<Self>

Implementors§