14 #if defined ZMQ_HAVE_VMCI
24 protocol (protocol_),
address (address_), parent (parent_)
37 else if (protocol == protocol_name::ws) {
43 else if (protocol == protocol_name::wss) {
48 #if defined ZMQ_HAVE_IPC
49 else if (protocol == protocol_name::ipc) {
53 #if defined ZMQ_HAVE_TIPC
54 else if (protocol == protocol_name::tipc) {
58 #if defined ZMQ_HAVE_VMCI
59 else if (protocol == protocol_name::vmci) {
68 return resolved.tcp_addr->to_string (addr_);
70 return resolved.udp_addr->to_string (addr_);
72 if (protocol == protocol_name::ws && resolved.ws_addr)
73 return resolved.ws_addr->to_string (addr_);
76 if (protocol == protocol_name::wss && resolved.ws_addr)
77 return resolved.ws_addr->to_string (addr_);
79 #if defined ZMQ_HAVE_IPC
80 if (protocol == protocol_name::ipc && resolved.ipc_addr)
81 return resolved.ipc_addr->to_string (addr_);
83 #if defined ZMQ_HAVE_TIPC
84 if (protocol == protocol_name::tipc && resolved.tipc_addr)
85 return resolved.tipc_addr->to_string (addr_);
87 #if defined ZMQ_HAVE_VMCI
88 if (protocol == protocol_name::vmci && resolved.vmci_addr)
89 return resolved.vmci_addr->to_string (addr_);
92 if (!protocol.empty () && !
address.empty ()) {
104 sockaddr_storage *ss_)
110 ? getsockname (fd_,
reinterpret_cast<struct sockaddr *
> (ss_), &sl)
111 : getpeername (fd_,
reinterpret_cast<struct sockaddr *
> (ss_), &sl);
113 return rc != 0 ? 0 : sl;