pub enum McrxError {
Show 34 variants
InvalidDestinationPort,
InvalidMulticastGroup,
InvalidSourceAddress,
InvalidIpv6SsmGroup,
SourceAddressFamilyMismatch,
InterfaceAddressFamilyMismatch,
InvalidInterfaceIndex,
InterfaceIndexRequiresIpv6,
DuplicateSubscription,
SubscriptionNotFound,
SubscriptionNotJoined,
SubscriptionAlreadyJoined,
SocketCreateFailed(Error),
SocketOptionFailed(Error),
SocketBindFailed(Error),
RawSocketCreateFailed(Error),
RawSocketBindFailed(Error),
RawPacketReceiveUnsupported(String),
Ipv6NotYetImplemented,
SocketLocalAddrFailed(Error),
SocketIoctlFailed(Error),
ExistingSocketAddressFamilyMismatch,
ExistingSocketPortMismatch {
expected: u16,
actual: u16,
},
MulticastJoinFailed(Error),
MulticastLeaveFailed(Error),
SourceSpecificMulticastUnsupported,
Ipv6SourceSpecificMulticastRequiresInterface,
Ipv6SourceSpecificMulticastNotYetImplemented,
InterfaceProbeBindFailed(Error),
InterfaceProbeConnectFailed(Error),
InterfaceProbeLocalAddrFailed(Error),
InterfaceDiscoveryFailed(String),
NonIpSocketAddress,
ReceiveFailed(Error),
}Expand description
Errors returned by the multicast receiver core.
Variants§
InvalidDestinationPort
The configured destination port is invalid.
InvalidMulticastGroup
The configured group address is not a valid multicast IP address.
InvalidSourceAddress
The configured SSM source address is invalid.
InvalidIpv6SsmGroup
The configured IPv6 SSM group is not in the IPv6 SSM range.
SourceAddressFamilyMismatch
The configured SSM source address family does not match the group family.
InterfaceAddressFamilyMismatch
The configured interface address family does not match the group family.
InvalidInterfaceIndex
The configured interface index is invalid.
InterfaceIndexRequiresIpv6
The configured interface index is only valid for IPv6 subscriptions.
DuplicateSubscription
A subscription with the same configuration already exists.
SubscriptionNotFound
No subscription with the requested ID exists.
SubscriptionNotJoined
The subscription is not currently joined to its multicast group.
SubscriptionAlreadyJoined
The subscription is already joined to its multicast group.
SocketCreateFailed(Error)
Creating the UDP socket failed.
SocketOptionFailed(Error)
Setting a socket option failed.
SocketBindFailed(Error)
Binding the UDP socket failed.
RawSocketCreateFailed(Error)
Creating the raw receive socket failed.
RawSocketBindFailed(Error)
Binding the raw receive socket failed.
RawPacketReceiveUnsupported(String)
Raw multicast receive is not supported on this platform in this build.
Ipv6NotYetImplemented
The requested IPv6 functionality is not implemented yet.
SocketLocalAddrFailed(Error)
Reading the local address of an existing socket failed.
SocketIoctlFailed(Error)
Looking up a socket extension function failed.
ExistingSocketAddressFamilyMismatch
The provided existing socket family does not match the subscription configuration.
ExistingSocketPortMismatch
The provided existing socket is bound to a different UDP port than the subscription.
MulticastJoinFailed(Error)
Joining a multicast group failed.
MulticastLeaveFailed(Error)
Leaving a multicast group failed.
SourceSpecificMulticastUnsupported
Source-specific multicast is not supported on this platform.
Ipv6SourceSpecificMulticastRequiresInterface
IPv6 source-specific multicast requires explicit interface selection.
Ipv6SourceSpecificMulticastNotYetImplemented
IPv6 source-specific multicast has not been wired into the receiver yet.
InterfaceProbeBindFailed(Error)
Binding the interface probe socket failed.
InterfaceProbeConnectFailed(Error)
Connecting the interface probe socket failed.
InterfaceProbeLocalAddrFailed(Error)
Reading the local address from the interface probe socket failed.
InterfaceDiscoveryFailed(String)
Discovering the local network interface failed.
NonIpSocketAddress
The received packet came from a non-IP socket address.
ReceiveFailed(Error)
Receiving a packet failed.
Trait Implementations§
Source§impl Error for McrxError
impl Error for McrxError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()