Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Friends

ICPRequestCont Class Reference

#include <ICP.h>

Inherits Continuation.

Collaboration diagram for ICPRequestCont:
Collaboration graph
[legend]

Data Structures

struct  ICPRequestEventArgs

Public Types

enum  { RETRY_INTERVAL = 10 }
enum  { ICP_REQUEST_HASH_SIZE = 1024 }
typedef struct
ICPRequestCont::ICPRequestEventArgs 
ICPRequestEventArgs_t

Public Member Functions

 ICPRequestCont (ICPProcessor *i=0, Continuation *c=0, URL *u=0)
 ~ICPRequestCont ()
void * operator new (size_t size, void *mem)
void operator delete (void *mem)
void SetRequestStartTime ()
ink_hrtime GetRequestStartTime ()
class ActionGetActionPtr ()
int ICPRequestEvent (int, Event *)
int NopICPRequestEvent (int, Event *)

Static Public Member Functions

static void NetToHostICPMsg (ICPMsg_t *, ICPMsg_t *)
static int BuildICPMsg (ICPopcode_t op, unsigned int sequence_number, int optflags, int optdata, int shostid, void *data, int datalen, struct msghdr *mhdr, struct iovec *iov, ICPMsg_t *icpmsg)
static unsigned int ICPReqSeqNumber ()
static int ICPRequestHash (unsigned int)
static int AddICPRequest (unsigned int, ICPRequestCont *)
static ICPRequestContFindICPRequest (unsigned int)
static int RemoveICPRequest (unsigned int)

Friends

class ICPProcessor

Detailed Description

Definition at line 1121 of file ICP.h.


Member Typedef Documentation


Member Enumeration Documentation

anonymous enum
Enumerator:
RETRY_INTERVAL 

Definition at line 1143 of file ICP.h.

anonymous enum
Enumerator:
ICP_REQUEST_HASH_SIZE 

Definition at line 1145 of file ICP.h.


Constructor & Destructor Documentation

ICPRequestCont::ICPRequestCont ( ICPProcessor i = 0,
Continuation c = 0,
URL u = 0 
)

Definition at line 1011 of file ICP.cc.

References Action::cancelled, MSG_IOVECS, and Continuation::mutex.

ICPRequestCont::~ICPRequestCont (  ) 

Member Function Documentation

int ICPRequestCont::AddICPRequest ( unsigned int  seqno,
ICPRequestCont r 
) [static]

Definition at line 1712 of file ICP.cc.

References Queue< C, L >::enqueue(), and ICPRequestHash().

int ICPRequestCont::BuildICPMsg ( ICPopcode_t  op,
unsigned int  sequence_number,
int  optflags,
int  optdata,
int  shostid,
void *  data,
int  datalen,
struct msghdr *  mhdr,
struct iovec *  iov,
ICPMsg_t icpmsg 
) [static]
ICPRequestCont * ICPRequestCont::FindICPRequest ( unsigned int  seqno  )  [static]

Definition at line 1723 of file ICP.cc.

References ICPRequestHash().

Referenced by ICPPeerReadCont::PeerReadStateMachine().

class Action* ICPRequestCont::GetActionPtr (  )  [inline]

Definition at line 1138 of file ICP.h.

Referenced by ICPProcessor::ICPQuery(), and ICPPeerReadCont::PeerReadStateMachine().

ink_hrtime ICPRequestCont::GetRequestStartTime (  )  [inline]

Definition at line 1134 of file ICP.h.

Referenced by ICPPeerReadCont::PeerReadStateMachine().

unsigned int ICPRequestCont::ICPReqSeqNumber (  )  [static]

Definition at line 1691 of file ICP.cc.

int ICPRequestCont::ICPRequestEvent ( int  event,
Event e 
)
int ICPRequestCont::ICPRequestHash ( unsigned int  seqno  )  [inline, static]

Definition at line 1704 of file ICP.cc.

Referenced by AddICPRequest(), FindICPRequest(), and RemoveICPRequest().

void ICPRequestCont::NetToHostICPMsg ( ICPMsg_t in,
ICPMsg_t out 
) [static]
int ICPRequestCont::NopICPRequestEvent ( int  ,
Event  
)

Definition at line 1148 of file ICP.cc.

void ICPRequestCont::operator delete ( void *  mem  )  [inline]

Definition at line 1240 of file ICP.h.

References ClassAllocator< C >::free().

void * ICPRequestCont::operator new ( size_t  size,
void *  mem 
) [inline]

Definition at line 1234 of file ICP.h.

int ICPRequestCont::RemoveICPRequest ( unsigned int  seqno  )  [static]

Definition at line 1738 of file ICP.cc.

References ICPRequestHash(), and Queue< C, L >::remove().

Referenced by ~ICPRequestCont().

void ICPRequestCont::SetRequestStartTime (  )  [inline]

Definition at line 1130 of file ICP.h.

References ink_get_hrtime().

Referenced by ICPProcessor::ICPQuery().


Friends And Related Function Documentation

friend class ICPProcessor [friend]

Definition at line 1123 of file ICP.h.


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