Data Structures | Public Member Functions

MultiCastPeer Class Reference

#include <ICP.h>

Inherits Peer.

Collaboration diagram for MultiCastPeer:
Collaboration graph
[legend]

Data Structures

struct  multicast_data

Public Member Functions

 MultiCastPeer (IpAddr const &, uint16_t, int, ICPProcessor *)
 ~MultiCastPeer ()
int GetTTL ()
int AddMultiCastChild (Peer *P)
PeerFindMultiCastChild (IpAddr const &ip, uint16_t port=0)
 Find the multicast child peer with IP address ip on port.
virtual sockaddr * GetIP ()
virtual ActionSendMsg_re (Continuation *, void *, struct msghdr *, struct sockaddr const *to)
virtual ActionRecvFrom_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 ConnectionGetRecvChan ()
virtual ConnectionGetSendChan ()
virtual int ExtToIntRecvSockAddr (sockaddr const *in, sockaddr *out)

Detailed Description

Definition at line 657 of file ICP.h.


Constructor & Destructor Documentation

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.

MultiCastPeer::~MultiCastPeer (  )  [inline]

Definition at line 661 of file ICP.h.


Member Function Documentation

int MultiCastPeer::AddMultiCastChild ( Peer P  ) 
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().

Peer * MultiCastPeer::FindMultiCastChild ( IpAddr const &  ip,
uint16_t  port = 0 
)

Find the multicast child peer with IP address ip on port.

If port is 0 the port is not checked.

Parameters:
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]

Implements Peer.

Definition at line 1000 of file ICPConfig.cc.

References IpEndpoint::sa.

virtual Connection* MultiCastPeer::GetRecvChan (  )  [inline, virtual]

Implements Peer.

Definition at line 683 of file ICP.h.

int MultiCastPeer::GetRecvFD (  )  [virtual]

Implements Peer.

Definition at line 1033 of file ICPConfig.cc.

References Connection::fd.

virtual Connection* MultiCastPeer::GetSendChan (  )  [inline, virtual]

Implements Peer.

Definition at line 687 of file ICP.h.

int MultiCastPeer::GetSendFD (  )  [virtual]

Implements Peer.

Definition at line 1039 of file ICPConfig.cc.

References Connection::fd.

int MultiCastPeer::GetTTL (  ) 

Definition at line 994 of file ICPConfig.cc.

int MultiCastPeer::IsOnline (  )  [virtual]
void MultiCastPeer::LogSendMsg ( ICPMsg_t m,
sockaddr const *  sa 
) [virtual]
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().


The documentation for this class was generated from the following files: