#include <netcomm/socket/datagram.h>
Inheritance diagram for fawkes::MulticastDatagramSocket:
Public Member Functions | |
MulticastDatagramSocket (const char *multicast_addr_s, unsigned short port, float timeout=0.f) | |
Constructor. | |
MulticastDatagramSocket (MulticastDatagramSocket &s) | |
Copy constructor. | |
virtual | ~MulticastDatagramSocket () |
Destructor. | |
virtual Socket * | clone () |
Clone socket. | |
virtual void | bind () |
Bind socket. | |
virtual void | send (void *buf, unsigned int buf_len) |
Send data. | |
void | set_loop (bool loop) |
Set loopback of sent packets. | |
void | set_ttl (int ttl) |
Set multicast time-to-live (TTL). |
An multicast UDP socket on top of IP.
Definition at line 32 of file datagram_multicast.h.
fawkes::MulticastDatagramSocket::MulticastDatagramSocket | ( | const char * | multicast_addr_s, | |
unsigned short | port, | |||
float | timeout = 0.f | |||
) |
Constructor.
multicast_addr_s | textual representation of the multicast IP address to use for multicast communication. NOT a hostname! | |
port | port | |
timeout | timeout, if 0 all operationsare blocking, otherwise it is tried for timeout seconds. |
Definition at line 50 of file datagram_multicast.cpp.
References set_loop().
Referenced by clone().
fawkes::MulticastDatagramSocket::MulticastDatagramSocket | ( | MulticastDatagramSocket & | datagram_socket | ) |
Copy constructor.
datagram_socket | socket to copy. |
Definition at line 80 of file datagram_multicast.cpp.
References multicast_addr.
fawkes::MulticastDatagramSocket::~MulticastDatagramSocket | ( | ) | [virtual] |
void fawkes::MulticastDatagramSocket::bind | ( | ) | [virtual] |
Bind socket.
This will make the socket listen for incoming traffic. It will also add this host to the appropriate multicast group.
Definition at line 93 of file datagram_multicast.cpp.
References fawkes::Socket::sock_fd.
Referenced by fawkes::WorldInfoTransceiver::WorldInfoTransceiver().
Socket * fawkes::MulticastDatagramSocket::clone | ( | ) | [virtual] |
Clone socket.
Implements fawkes::Socket.
Definition at line 122 of file datagram_multicast.cpp.
References MulticastDatagramSocket().
void fawkes::MulticastDatagramSocket::send | ( | void * | buf, | |
unsigned int | buf_len | |||
) | [virtual] |
Send data.
This will send the given data to the multicast address specified in the constructor.
buf | buffer to write | |
buf_len | length of buffer, number of bytes to write to stream |
Definition at line 135 of file datagram_multicast.cpp.
References fawkes::Exception::append(), and fawkes::Socket::send().
void fawkes::MulticastDatagramSocket::set_loop | ( | bool | loop | ) |
Set loopback of sent packets.
loop | true to deliver sent packets to local sockets, false prevent delivering |
Definition at line 150 of file datagram_multicast.cpp.
References fawkes::Socket::sock_fd.
Referenced by MulticastDatagramSocket(), and fawkes::WorldInfoTransceiver::set_loop().
void fawkes::MulticastDatagramSocket::set_ttl | ( | int | ttl | ) |
Set multicast time-to-live (TTL).
ttl | time-to-live |
Definition at line 163 of file datagram_multicast.cpp.
References fawkes::Socket::sock_fd.