pub trait NetlinkClient: Send + Sync {
type Request: Clone + Debug + NetlinkDeserializable<Error: Into<DecodeError>> + MessageWithPermission + Send;
// Required methods
fn set_pid(&self, pid: NonZeroU32);
fn add_membership(
&self,
group: ModernGroup,
) -> Result<AsyncWorkCompletionWaiter, InvalidModernGroupError>;
fn del_membership(
&self,
group: ModernGroup,
) -> Result<(), InvalidModernGroupError>;
fn set_legacy_memberships(
&self,
legacy_memberships: LegacyGroups,
) -> Result<AsyncWorkCompletionWaiter, InvalidLegacyGroupsError>;
}Expand description
A client of a Netlink protocol family.
Required Associated Types§
Sourcetype Request: Clone + Debug + NetlinkDeserializable<Error: Into<DecodeError>> + MessageWithPermission + Send
type Request: Clone + Debug + NetlinkDeserializable<Error: Into<DecodeError>> + MessageWithPermission + Send
The request message type associated with this client’s protocol family.
Required Methods§
Sourcefn set_pid(&self, pid: NonZeroU32)
fn set_pid(&self, pid: NonZeroU32)
Sets the PID assigned to the client.
Sourcefn add_membership(
&self,
group: ModernGroup,
) -> Result<AsyncWorkCompletionWaiter, InvalidModernGroupError>
fn add_membership( &self, group: ModernGroup, ) -> Result<AsyncWorkCompletionWaiter, InvalidModernGroupError>
Adds the given multicast group membership.
Sourcefn del_membership(
&self,
group: ModernGroup,
) -> Result<(), InvalidModernGroupError>
fn del_membership( &self, group: ModernGroup, ) -> Result<(), InvalidModernGroupError>
Deletes the given multicast group membership.
Sourcefn set_legacy_memberships(
&self,
legacy_memberships: LegacyGroups,
) -> Result<AsyncWorkCompletionWaiter, InvalidLegacyGroupsError>
fn set_legacy_memberships( &self, legacy_memberships: LegacyGroups, ) -> Result<AsyncWorkCompletionWaiter, InvalidLegacyGroupsError>
Sets the legacy multicast group memberships.