#include <ICP.h>
Inherits Peer.
Data Structures | |
struct | multicast_data |
Public Member Functions | |
MultiCastPeer (IpAddr const &, uint16_t, int, ICPProcessor *) | |
~MultiCastPeer () | |
int | GetTTL () |
int | AddMultiCastChild (Peer *P) |
Peer * | FindMultiCastChild (IpAddr const &ip, uint16_t port=0) |
Find the multicast child peer with IP address ip on port. | |
virtual sockaddr * | GetIP () |
virtual Action * | SendMsg_re (Continuation *, void *, struct msghdr *, struct sockaddr const *to) |
virtual Action * | RecvFrom_re (Continuation *, void *, IOBufferBlock *, int, struct sockaddr *, socklen_t *) |
virtual int | GetRecvFD () |
virtual int | GetSendFD () |
virtual int | ExpectedReplies (BitMap *) |
virtual int | ValidSender (struct sockaddr *) |
virtual void | LogSendMsg (ICPMsg_t *, sockaddr const *) |
virtual int | IsOnline () |
virtual Connection * | GetRecvChan () |
virtual Connection * | GetSendChan () |
virtual int | ExtToIntRecvSockAddr (sockaddr const *in, sockaddr *out) |
Definition at line 657 of file ICP.h.
MultiCastPeer::MultiCastPeer | ( | IpAddr const & | addr, | |
uint16_t | mc_port, | |||
int | ttl, | |||
ICPProcessor * | icpPr | |||
) |
Definition at line 986 of file ICPConfig.cc.
References ats_ip_set(), and IpEndpoint::sa.
int MultiCastPeer::AddMultiCastChild | ( | Peer * | P | ) |
Definition at line 1112 of file ICPConfig.cc.
References Peer::_next, ats_ip_ntop(), ats_ip_port_host_order(), FindMultiCastChild(), Peer::GetIP(), Peer::SetNext(), and Warning.
int MultiCastPeer::ExpectedReplies | ( | BitMap * | expected_replies_list | ) | [virtual] |
Implements Peer.
Definition at line 1045 of file ICPConfig.cc.
References Peer::_next, ParentSiblingPeer::ExpectedReplies(), and Peer::GetNext().
virtual int MultiCastPeer::ExtToIntRecvSockAddr | ( | sockaddr const * | in, | |
sockaddr * | out | |||
) | [inline, virtual] |
Implements Peer.
Definition at line 691 of file ICP.h.
References ats_ip_copy(), ats_ip_port_cast(), FindMultiCastChild(), and Peer::GetIP().
Find the multicast child peer with IP address ip on port.
If port is 0 the port is not checked.
ip | IP address. | |
port | Port (host order). |
Definition at line 1130 of file ICPConfig.cc.
References Peer::_next, ats_ip_port_host_order(), Peer::GetIP(), and Peer::GetNext().
Referenced by AddMultiCastChild(), ExtToIntRecvSockAddr(), and LogSendMsg().
sockaddr * MultiCastPeer::GetIP | ( | ) | [virtual] |
virtual Connection* MultiCastPeer::GetRecvChan | ( | ) | [inline, virtual] |
int MultiCastPeer::GetRecvFD | ( | ) | [virtual] |
virtual Connection* MultiCastPeer::GetSendChan | ( | ) | [inline, virtual] |
int MultiCastPeer::GetSendFD | ( | ) | [virtual] |
int MultiCastPeer::GetTTL | ( | ) |
Definition at line 994 of file ICPConfig.cc.
int MultiCastPeer::IsOnline | ( | ) | [virtual] |
Implements Peer.
Definition at line 1106 of file ICPConfig.cc.
References Peer::_ICPpr, ICPProcessor::GetConfig(), ICPConfiguration::globalConfig(), and ICPConfigData::ICPmulticastConfigured().
void MultiCastPeer::LogSendMsg | ( | ICPMsg_t * | m, | |
sockaddr const * | sa | |||
) | [virtual] |
Implements Peer.
Definition at line 1079 of file ICPConfig.cc.
References Peer::_next, Peer::_stats, ats_ip_port_host_order(), FindMultiCastChild(), ICPMsg::h, ink_get_hrtime(), Peer::PeerStats::last_send, Peer::LogSendMsg(), ICPMsgHeader::opcode, Peer::PeerStats::sent, and Peer::PeerStats::total_sent.
Action * MultiCastPeer::RecvFrom_re | ( | Continuation * | cont, | |
void * | token, | |||
IOBufferBlock * | , | |||
int | len, | |||
struct sockaddr * | from, | |||
socklen_t * | fromlen | |||
) | [virtual] |
Implements Peer.
Definition at line 1025 of file ICPConfig.cc.
References Peer::buf, Connection::fd, UDPNetProcessor::recvfrom_re(), and udpNet.
virtual Action* MultiCastPeer::SendMsg_re | ( | Continuation * | , | |
void * | , | |||
struct msghdr * | , | |||
struct sockaddr const * | to | |||
) | [virtual] |
Implements Peer.
int MultiCastPeer::ValidSender | ( | struct sockaddr * | sa | ) | [virtual] |
Implements Peer.
Definition at line 1060 of file ICPConfig.cc.
References Peer::_next, ats_ip_addr_eq(), ats_ip_port_cast(), Peer::GetIP(), and Peer::GetNext().