#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