XrlSocket4V0p1Client (XrlSender* s)
| XrlSocket4V0p1Client |
~XrlSocket4V0p1Client ()
| ~XrlSocket4V0p1Client |
[virtual]
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr TcpOpenCB | TcpOpenCB |
bool send_tcp_open (
const char* dst_xrl_target_name,
const string& creator,
const TcpOpenCB& cb
)
| send_tcp_open |
Send Xrl intended to:
Open a TCP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr UdpOpenCB | UdpOpenCB |
bool send_udp_open (
const char* dst_xrl_target_name,
const string& creator,
const UdpOpenCB& cb
)
| send_udp_open |
Send Xrl intended to:
Open an UDP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr TcpOpenAndBindCB | TcpOpenAndBindCB |
bool send_tcp_open_and_bind (
const char* dst_xrl_target_name,
const string& creator,
const IPv4& local_addr,
const uint32_t& local_port,
const TcpOpenAndBindCB& cb
)
| send_tcp_open_and_bind |
Send Xrl intended to:
Create a bound TCP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr UdpOpenAndBindCB | UdpOpenAndBindCB |
bool send_udp_open_and_bind (
const char* dst_xrl_target_name,
const string& creator,
const IPv4& local_addr,
const uint32_t& local_port,
const UdpOpenAndBindCB& cb
)
| send_udp_open_and_bind |
Send Xrl intended to:
Create a bound UDP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr UdpOpenBindJoinCB | UdpOpenBindJoinCB |
bool send_udp_open_bind_join (
const char* dst_xrl_target_name,
const string& creator,
const IPv4& local_addr,
const uint32_t& local_port,
const IPv4& mcast_addr,
const uint32_t& ttl,
const bool& reuse,
const UdpOpenBindJoinCB& cb
)
| send_udp_open_bind_join |
Send Xrl intended to:
Create a bound UDP multicast socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
mcast_addr | the multicast group address to join. |
ttl | the TTL to use for this multicast socket. |
reuse | allow other sockets to bind to same multicast group. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr TcpOpenBindConnectCB | TcpOpenBindConnectCB |
bool send_tcp_open_bind_connect (
const char* dst_xrl_target_name,
const string& creator,
const IPv4& local_addr,
const uint32_t& local_port,
const IPv4& remote_addr,
const uint32_t& remote_port,
const TcpOpenBindConnectCB& cb
)
| send_tcp_open_bind_connect |
Send Xrl intended to:
Create a bound and connected TCP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
remote_addr | the address to connect to. |
remote_port | the remote port to connect to. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr UdpOpenBindConnectCB | UdpOpenBindConnectCB |
bool send_udp_open_bind_connect (
const char* dst_xrl_target_name,
const string& creator,
const IPv4& local_addr,
const uint32_t& local_port,
const IPv4& remote_addr,
const uint32_t& remote_port,
const UdpOpenBindConnectCB& cb
)
| send_udp_open_bind_connect |
Send Xrl intended to:
Create a bound and connected UDP socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
remote_addr | the address to connect to. |
remote_port | the remote port to connect to. |
typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr UdpOpenBindBroadcastCB | UdpOpenBindBroadcastCB |
bool send_udp_open_bind_broadcast (
const char* dst_xrl_target_name,
const string& creator,
const string& ifname,
const string& vifname,
const uint32_t& local_port,
const uint32_t& remote_port,
const bool& reuse,
const bool& limited,
const bool& connected,
const UdpOpenBindBroadcastCB& cb
)
| send_udp_open_bind_broadcast |
Send Xrl intended to:
Create a bound, and optionally connected, UDP broadcast socket. This socket may be used for sending and receiving IPv4 broadcasts on a named if/vif. The TTL is always set to 1 on creation. The creator must specify if this socket is to be used for limited broadcasts (255.255.255.255) as this is a special case on many platforms.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
ifname | the interface name to bind socket to. |
vifname | the vif to bind socket to. |
local_port | the port to bind socket to. |
remote_port | the remote port to connect to. |
reuse | allow other sockets to bind to same port. |
limited | set the socket up for transmission to the limited broadcast address 255.255.255.255. |
connected | connect the socket for use with send() not sendto(). |
typedef XorpCallback1<void, const XrlError&>::RefPtr BindCB | BindCB |
bool send_bind (
const char* dst_xrl_target_name,
const string& sockid,
const IPv4& local_addr,
const uint32_t& local_port,
const BindCB& cb
)
| send_bind |
Send Xrl intended to:
Bind a socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | the socket ID of the socket to bind. |
local_addr | the interface address to bind socket to. |
local_port | the port to bind socket to. |
typedef XorpCallback1<void, const XrlError&>::RefPtr UdpJoinGroupCB | UdpJoinGroupCB |
bool send_udp_join_group (
const char* dst_xrl_target_name,
const string& sockid,
const IPv4& mcast_addr,
const IPv4& join_if_addr,
const UdpJoinGroupCB& cb
)
| send_udp_join_group |
Send Xrl intended to:
Join multicast group on already bound socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
mcast_addr | group to join. |
join_if_addr | interface address to perform join on. |
typedef XorpCallback1<void, const XrlError&>::RefPtr UdpLeaveGroupCB | UdpLeaveGroupCB |
bool send_udp_leave_group (
const char* dst_xrl_target_name,
const string& sockid,
const IPv4& mcast_addr,
const IPv4& leave_if_addr,
const UdpLeaveGroupCB& cb
)
| send_udp_leave_group |
Send Xrl intended to:
Leave multicast group on already bound socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
mcast_addr | group to leave. |
leave_if_addr | interface address to perform leave on. |
typedef XorpCallback1<void, const XrlError&>::RefPtr CloseCB | CloseCB |
bool send_close (
const char* dst_xrl_target_name,
const string& sockid,
const CloseCB& cb
)
| send_close |
Send Xrl intended to:
Close socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID of socket to be closed. |
typedef XorpCallback1<void, const XrlError&>::RefPtr TcpListenCB | TcpListenCB |
bool send_tcp_listen (
const char* dst_xrl_target_name,
const string& sockid,
const uint32_t& backlog,
const TcpListenCB& cb
)
| send_tcp_listen |
Send Xrl intended to:
Listen for inbound connections on socket. When a connection request received the socket creator will receive notification through socket4_user/0.1/inbound_connect_event.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | the unique socket ID of the socket to perform listen. |
backlog | the maximum number of pending connections. |
typedef XorpCallback1<void, const XrlError&>::RefPtr UdpEnableRecvCB | UdpEnableRecvCB |
bool send_udp_enable_recv (
const char* dst_xrl_target_name,
const string& sockid,
const UdpEnableRecvCB& cb
)
| send_udp_enable_recv |
Send Xrl intended to:
Enable a UDP socket for datagram reception. If a UDP socket has been created without using the usual convenience XRLs, it is necessary to hook up its FEA internal input path by calling this XRL. It is similar in intent to tcp_listen, but named differently as it never uses the listen() socket API.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | the unique socket ID of the socket to enable for datagram reception. |
typedef XorpCallback1<void, const XrlError&>::RefPtr SendCB | SendCB |
bool send_send (
const char* dst_xrl_target_name,
const string& sockid,
const vector<uint8_t>& data,
const SendCB& cb
)
| send_send |
Send Xrl intended to:
Send data on socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
data | block of data to be sent. |
typedef XorpCallback1<void, const XrlError&>::RefPtr SendToCB | SendToCB |
bool send_send_to (
const char* dst_xrl_target_name,
const string& sockid,
const IPv4& remote_addr,
const uint32_t& remote_port,
const vector<uint8_t>& data,
const SendToCB& cb
)
| send_send_to |
Send Xrl intended to:
Send data on socket to a given destination. The packet is not routed as the forwarding engine sending the packet may not have access to the full routing table.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
remote_addr | destination address for data. |
remote_port | destination port for data. |
data | block of data to be sent. |
typedef XorpCallback1<void, const XrlError&>::RefPtr SendFromMulticastIfCB | SendFromMulticastIfCB |
bool send_send_from_multicast_if (
const char* dst_xrl_target_name,
const string& sockid,
const IPv4& group_addr,
const uint32_t& group_port,
const IPv4& ifaddr,
const vector<uint8_t>& data,
const SendFromMulticastIfCB& cb
)
| send_send_from_multicast_if |
Send Xrl intended to:
Send data on socket to a given multicast group from a given interface.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
group_addr | destination address for data. |
group_port | destination port for data. |
ifaddr | interface address |
typedef XorpCallback1<void, const XrlError&>::RefPtr SetSocketOptionCB | SetSocketOptionCB |
bool send_set_socket_option (
const char* dst_xrl_target_name,
const string& sockid,
const string& optname,
const uint32_t& optval,
const SetSocketOptionCB& cb
)
| send_set_socket_option |
Send Xrl intended to:
Set a named socket option with an integer value. XXX: The "onesbcast" and "reuseport" options exist to work around an architectural issue in the BSD IPv4 stack. They SHOULD NOT be used for new code.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
optname | name of option to be set. Valid values are: "onesbcast" "receive_broadcast" "reuseport" "send_broadcast" "tos" "ttl" "multicast_loopback" "multicast_ttl" |
optval | integer value of option to be set. If value is logically boolean, then zero represents 'false', and any non-zero value represents 'true'. |
typedef XorpCallback1<void, const XrlError&>::RefPtr SetSocketOptionTxtCB | SetSocketOptionTxtCB |
bool send_set_socket_option_txt (
const char* dst_xrl_target_name,
const string& sockid,
const string& optname,
const string& optval,
const SetSocketOptionTxtCB& cb
)
| send_set_socket_option_txt |
Send Xrl intended to:
Set a named socket option with a string value. XXX: The "bindtodevice" option exists to workaround an architectural issue in the Linux IPv4 stack. It SHOULD NOT be used for new code.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
sockid | unique socket ID. |
optname | name of option to be set. Valid values are: "bindtodevice" |
optval | value of option to be set. |
XrlSender* _sender | _sender |
[protected]