#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().
 1.7.1
 1.7.1