12 #ifndef ROC_ADDRESS_PROTOCOL_MAP_H_
13 #define ROC_ADDRESS_PROTOCOL_MAP_H_
80 enum { MaxProtos = 8 };
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
const ProtocolAttrs * find_by_scheme(const char *scheme) const
Get protocol attributes by scheme name.
static ProtocolMap & instance()
Get instance.
const ProtocolAttrs * find_by_id(Protocol proto) const
Get protocol attributes by ID.
ROC_ATTR_NODISCARD bool get_supported_interfaces(core::Array< Interface > &)
Get list of interfaces with at least one protocol.
ROC_ATTR_NODISCARD bool get_supported_protocols(Interface, core::StringList &)
Get all supported protocols.
Base class for non-copyable objects.
static T & instance()
Get singleton instance.
@ Iface_Invalid
Invalid interface.
@ Proto_None
Protocol is not set.
FecScheme
FECFRAME scheme.
Commonly used types and functions.
Protocol protocol
Protocol ID.
Interface iface
Endpoint type.
const char * scheme_name
Scheme name in URI.
packet::FecScheme fec_scheme
FEC scheme associated wit the protocol, if any.
bool path_supported
Whether path is supported in URI.
int default_port
Default port number of -1 if not specified.