#include <ICP.h>
Inherits RefCountObj.
Inherited by MultiCastPeer, and ParentSiblingPeer.
Data Structures | |
struct | PeerStats |
Public Types | |
enum | { OFFLINE_THRESHOLD = 20 } |
Public Member Functions | |
Peer (PeerType_t, ICPProcessor *, bool dynamic_peer=false) | |
virtual | ~Peer () |
void | LogRecvMsg (ICPMsg_t *, int) |
virtual sockaddr * | GetIP ()=0 |
virtual Action * | SendMsg_re (Continuation *, void *, struct msghdr *, struct sockaddr const *to)=0 |
virtual Action * | RecvFrom_re (Continuation *, void *, IOBufferBlock *, int, struct sockaddr *, socklen_t *)=0 |
virtual int | GetRecvFD ()=0 |
virtual int | GetSendFD ()=0 |
virtual int | ExpectedReplies (BitMap *)=0 |
virtual int | ValidSender (sockaddr *)=0 |
virtual void | LogSendMsg (ICPMsg_t *, sockaddr const *)=0 |
virtual int | IsOnline ()=0 |
virtual Connection * | GetSendChan ()=0 |
virtual Connection * | GetRecvChan ()=0 |
virtual int | ExtToIntRecvSockAddr (sockaddr const *, sockaddr *)=0 |
PeerType_t | GetType () |
int | GetPeerID () |
void | SetPeerID (int newid) |
void | SetNext (Peer *p) |
Peer * | GetNext () |
bool | shouldStartRead () |
void | startingRead () |
void | cancelRead () |
bool | readActive () |
bool | isUp () |
Data Fields | |
Ptr< IOBufferBlock > | buf |
IpEndpoint | fromaddr |
socklen_t | fromaddrlen |
int | notFirstRead |
Action * | readAction |
Action * | writeAction |
Protected Attributes | |
PeerType_t | _type |
int | _id |
Peer * | _next |
ICPProcessor * | _ICPpr |
int | _state |
struct Peer::PeerStats | _stats |
Definition at line 501 of file ICP.h.
Peer::Peer | ( | PeerType_t | t, | |
ICPProcessor * | icpPr, | |||
bool | dynamic_peer = false | |||
) |
Definition at line 784 of file ICPConfig.cc.
References _id, _state, _stats, fromaddr, fromaddrlen, and notFirstRead.
void Peer::cancelRead | ( | ) | [inline] |
Definition at line 555 of file ICP.h.
References notFirstRead.
virtual int Peer::ExpectedReplies | ( | BitMap * | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
virtual int Peer::ExtToIntRecvSockAddr | ( | sockaddr const * | , | |
sockaddr * | ||||
) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
virtual sockaddr* Peer::GetIP | ( | ) | [pure virtual] |
Peer* Peer::GetNext | ( | ) | [inline] |
Definition at line 543 of file ICP.h.
References _next.
Referenced by MultiCastPeer::ExpectedReplies(), MultiCastPeer::FindMultiCastChild(), and MultiCastPeer::ValidSender().
int Peer::GetPeerID | ( | ) | [inline] |
Definition at line 531 of file ICP.h.
References _id.
Referenced by ParentSiblingPeer::ExpectedReplies().
virtual Connection* Peer::GetRecvChan | ( | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
virtual int Peer::GetRecvFD | ( | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
Referenced by ParentSiblingPeer::RecvFrom_re().
virtual Connection* Peer::GetSendChan | ( | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
virtual int Peer::GetSendFD | ( | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
PeerType_t Peer::GetType | ( | ) | [inline] |
Definition at line 527 of file ICP.h.
References _type.
Referenced by ParentSiblingPeer::ExtToIntRecvSockAddr().
virtual int Peer::IsOnline | ( | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
Referenced by ICPHandlerCont::PeriodicEvent().
void Peer::LogRecvMsg | ( | ICPMsg_t * | m, | |
int | valid | |||
) |
Definition at line 798 of file ICPConfig.cc.
References _state, _stats, ats_ip_nptop(), Debug, Peer::PeerStats::dropped_replies, GetIP(), ICPMsg::h, ICP_OP_LAST, ICP_OP_QUERY, ink_get_hrtime(), Peer::PeerStats::last_receive, ICPMsgHeader::opcode, PEER_UP, Peer::PeerStats::recv, Peer::PeerStats::total_received, and Peer::PeerStats::total_sent.
Referenced by ICPPeerReadCont::PeerReadStateMachine().
virtual void Peer::LogSendMsg | ( | ICPMsg_t * | , | |
sockaddr const * | ||||
) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
Referenced by MultiCastPeer::LogSendMsg().
bool Peer::readActive | ( | ) | [inline] |
Definition at line 559 of file ICP.h.
References readAction.
virtual Action* Peer::RecvFrom_re | ( | Continuation * | , | |
void * | , | |||
IOBufferBlock * | , | |||
int | , | |||
struct sockaddr * | , | |||
socklen_t * | ||||
) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
virtual Action* Peer::SendMsg_re | ( | Continuation * | , | |
void * | , | |||
struct msghdr * | , | |||
struct sockaddr const * | to | |||
) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
void Peer::SetNext | ( | Peer * | p | ) | [inline] |
Definition at line 539 of file ICP.h.
References _next.
Referenced by MultiCastPeer::AddMultiCastChild().
bool Peer::shouldStartRead | ( | ) | [inline] |
Definition at line 547 of file ICP.h.
References notFirstRead.
Referenced by ICPHandlerCont::PeriodicEvent().
void Peer::startingRead | ( | ) | [inline] |
Definition at line 551 of file ICP.h.
References notFirstRead.
Referenced by ICPHandlerCont::PeriodicEvent().
virtual int Peer::ValidSender | ( | sockaddr * | ) | [pure virtual] |
Implemented in ParentSiblingPeer, and MultiCastPeer.
ICPProcessor* Peer::_ICPpr [protected] |
Definition at line 581 of file ICP.h.
Referenced by ParentSiblingPeer::ExtToIntRecvSockAddr(), MultiCastPeer::IsOnline(), ParentSiblingPeer::RecvFrom_re(), and ParentSiblingPeer::ValidSender().
int Peer::_id [protected] |
Definition at line 579 of file ICP.h.
Referenced by GetPeerID(), Peer(), and SetPeerID().
Peer* Peer::_next [protected] |
Definition at line 580 of file ICP.h.
Referenced by MultiCastPeer::AddMultiCastChild(), MultiCastPeer::ExpectedReplies(), MultiCastPeer::FindMultiCastChild(), GetNext(), MultiCastPeer::LogSendMsg(), SetNext(), and MultiCastPeer::ValidSender().
int Peer::_state [protected] |
Definition at line 586 of file ICP.h.
Referenced by ParentSiblingPeer::ExpectedReplies(), isUp(), LogRecvMsg(), Peer(), and ParentSiblingPeer::~ParentSiblingPeer().
struct Peer::PeerStats Peer::_stats [protected] |
PeerType_t Peer::_type [protected] |
Definition at line 578 of file ICP.h.
Referenced by GetType(), and ParentSiblingPeer::ValidSender().
Definition at line 570 of file ICP.h.
Referenced by MultiCastPeer::RecvFrom_re().
socklen_t Peer::fromaddrlen |
Definition at line 573 of file ICP.h.
Referenced by cancelRead(), Peer(), shouldStartRead(), and startingRead().
Definition at line 574 of file ICP.h.
Referenced by readActive().