Data Structures | Defines | Typedefs | Enumerations | Variables

ICP.h File Reference

A brief file description. More...

#include "P_Net.h"
#include "P_Cache.h"
#include "URL.h"
#include "ICPevents.h"
#include "ICPProcessor.h"
#include "DynArray.h"
Include dependency graph for ICP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ICPMsgHeader
struct  ICPData
struct  ICPQuery
struct  ICPHit
struct  ICPMiss
struct  ICPHitObj
struct  ICPMsg
class  AtomicLock
class  ICPConfigData
class  PeerConfigData
class  ICPConfigUpdateCont
class  ICPConfiguration
class  Peer
struct  Peer::PeerStats
class  ParentSiblingPeer
class  MultiCastPeer
struct  MultiCastPeer::multicast_data
class  BitMap
class  ICPProcessor
class  PeriodicCont
class  ICPPeriodicCont
class  ICPHandlerCont
class  ICPPeerReadCont
class  ICPPeerReadCont::PeerReadData
class  ICPRequestCont
struct  ICPRequestCont::ICPRequestEventArgs

Defines

#define ET_ICP   ET_CALL
#define ICP_DEBUG   1
#define ICP_OP_LAST   (ICP_OP_END_OF_OPS - 1)
#define ICP_VERSION_1   1
#define ICP_VERSION_2   2
#define ICP_VERSION_3   3
#define ICP_VERSION   ICP_VERSION_2
#define ICP_FLAG_HIT_OBJ   0x80000000ul
#define ICP_FLAG_SRC_RTT   0x40000000ul
#define MAX_ICP_MSGSIZE   (16 * 1024)
#define MAX_ICP_MSG_PAYLOAD_SIZE   (MAX_ICP_MSGSIZE - sizeof(ICPmsgHdr_t))
#define MAX_ICP_QUERY_PAYLOAD_SIZE   (MAX_ICP_MSG_PAYLOAD_SIZE - sizeof(uint32_t))
#define MAX_DEFINED_PEERS   64
#define MSG_IOVECS   16
#define PEER_UP   (1 << 0)
#define PEER_MULTICAST_COUNT_EVENT   (1 << 1)
#define PEER_DYNAMIC   (1 << 2)
#define RECORD_ICP_STATE_CHANGE(x, y, z)
#define ICP_EstablishStaticConfigInteger(_ix, _n)   REC_EstablishStaticConfigInt32(_ix,_n)
#define ICP_EstablishStaticConfigStringAlloc(_ix, n)   REC_EstablishStaticConfigStringAlloc(_ix, n)
#define ICP_INCREMENT_DYN_STAT(x)   RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, 1)
#define ICP_DECREMENT_DYN_STAT(x)   RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, -1)
#define ICP_SUM_DYN_STAT(x, y)   RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, (y))
#define ICP_READ_DYN_STAT(x, C, S)
#define ICP_ReadConfigString   REC_ReadConfigString
#define ICP_RegisterConfigUpdateFunc   REC_RegisterConfigUpdateFunc

Typedefs

typedef struct ICPMsgHeader ICPMsgHdr_t
typedef struct ICPData ICPData_t
typedef struct ICPQuery ICPQuery_t
typedef struct ICPHit ICPHit_t
typedef struct ICPMiss ICPMiss_t
typedef struct ICPHitObj ICPHitObj_t
typedef struct ICPMsg ICPMsg_t
typedef int(* PluginFreshnessCalcFunc )(void *contp)

Enumerations

enum  ICPopcode_t {
  ICP_OP_INVALID, ICP_OP_QUERY, ICP_OP_HIT, ICP_OP_MISS,
  ICP_OP_ERR, ICP_OP_UNUSED5, ICP_OP_UNUSED6, ICP_OP_UNUSED7,
  ICP_OP_UNUSED8, ICP_OP_UNUSED9, ICP_OP_SECHO, ICP_OP_DECHO,
  ICP_OP_UNUSED12, ICP_OP_UNUSED13, ICP_OP_UNUSED14, ICP_OP_UNUSED15,
  ICP_OP_UNUSED16, ICP_OP_UNUSED17, ICP_OP_UNUSED18, ICP_OP_UNUSED19,
  ICP_OP_UNUSED20, ICP_OP_MISS_NOFETCH, ICP_OP_DENIED, ICP_OP_HIT_OBJ,
  ICP_OP_END_OF_OPS
}
enum  PeerType_t {
  PEER_NONE = 0, PEER_PARENT = 1, PEER_SIBLING = 2, PEER_LOCAL = 3,
  PEER_MULTICAST = 4
}
enum  {
  icp_stat_def, config_mgmt_callouts_stat, reconfig_polls_stat, reconfig_events_stat,
  invalid_poll_data_stat, no_data_read_stat, short_read_stat, invalid_sender_stat,
  read_not_v2_icp_stat, icp_remote_query_requests_stat, icp_remote_responses_stat, icp_cache_lookup_success_stat,
  icp_cache_lookup_fail_stat, query_response_write_stat, query_response_partial_write_stat, no_icp_request_for_response_stat,
  icp_response_request_nolock_stat, icp_start_icpoff_stat, send_query_partial_write_stat, icp_queries_no_expected_replies_stat,
  icp_query_hits_stat, icp_query_misses_stat, invalid_icp_query_response_stat, icp_query_requests_stat,
  total_icp_response_time_stat, total_udp_send_queries_stat, total_icp_request_time_stat, icp_total_reloads,
  icp_pending_reloads, icp_reload_start_aborts, icp_reload_connect_aborts, icp_reload_read_aborts,
  icp_reload_write_aborts, icp_reload_successes, icp_stat_count
}

Variables

ClassAllocator< ICPRequestContICPRequestCont_allocator
PluginFreshnessCalcFunc pluginFreshnessCalcFunc
struct RecRawStatBlockicp_rsb

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file ICP.h.


Define Documentation

#define ET_ICP   ET_CALL
#define ICP_DEBUG   1

Definition at line 47 of file ICP.h.

#define ICP_DECREMENT_DYN_STAT (   x  )     RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, -1)

Definition at line 1294 of file ICP.h.

#define ICP_EstablishStaticConfigInteger (   _ix,
  _n 
)    REC_EstablishStaticConfigInt32(_ix,_n)

Definition at line 1286 of file ICP.h.

Referenced by ICPConfiguration::ICPConfiguration().

#define ICP_EstablishStaticConfigStringAlloc (   _ix,
  n 
)    REC_EstablishStaticConfigStringAlloc(_ix, n)

Definition at line 1289 of file ICP.h.

Referenced by ICPConfiguration::ICPConfiguration().

#define ICP_FLAG_HIT_OBJ   0x80000000ul

Definition at line 116 of file ICP.h.

#define ICP_FLAG_SRC_RTT   0x40000000ul

Definition at line 117 of file ICP.h.

#define ICP_INCREMENT_DYN_STAT (   x  )     RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, 1)
#define ICP_OP_LAST   (ICP_OP_END_OF_OPS - 1)

Definition at line 103 of file ICP.h.

Referenced by Peer::LogRecvMsg().

#define ICP_READ_DYN_STAT (   x,
  C,
  S 
)
Value:
RecGetRawStatCount(icp_rsb, (int) x, &C); \
        RecGetRawStatSum(icp_rsb, (int) x, &S);

Definition at line 1298 of file ICP.h.

#define ICP_ReadConfigString   REC_ReadConfigString

Definition at line 1302 of file ICP.h.

Referenced by ICPConfiguration::ICPConfiguration().

#define ICP_RegisterConfigUpdateFunc   REC_RegisterConfigUpdateFunc

Definition at line 1303 of file ICP.h.

Referenced by ICPConfiguration::ICPConfiguration().

#define ICP_SUM_DYN_STAT (   x,
  y 
)    RecIncrRawStat(icp_rsb, mutex->thread_holding, (int) x, (y))

Definition at line 1296 of file ICP.h.

Referenced by ICPPeerReadCont::PeerReadStateMachine().

#define ICP_VERSION   ICP_VERSION_2

Definition at line 111 of file ICP.h.

#define ICP_VERSION_1   1

Definition at line 108 of file ICP.h.

#define ICP_VERSION_2   2

Definition at line 109 of file ICP.h.

Referenced by ICPPeerReadCont::PeerReadStateMachine().

#define ICP_VERSION_3   3

Definition at line 110 of file ICP.h.

Referenced by ICPPeerReadCont::PeerReadStateMachine().

#define MAX_DEFINED_PEERS   64
#define MAX_ICP_MSG_PAYLOAD_SIZE   (MAX_ICP_MSGSIZE - sizeof(ICPmsgHdr_t))

Definition at line 123 of file ICP.h.

#define MAX_ICP_MSGSIZE   (16 * 1024)

Definition at line 122 of file ICP.h.

Referenced by ICPPeerReadCont::ICPPeerQueryCont(), and ICPProcessor::start().

#define MAX_ICP_QUERY_PAYLOAD_SIZE   (MAX_ICP_MSG_PAYLOAD_SIZE - sizeof(uint32_t))

Definition at line 124 of file ICP.h.

#define MSG_IOVECS   16

Definition at line 126 of file ICP.h.

Referenced by ICPRequestCont::ICPRequestCont().

#define PEER_DYNAMIC   (1 << 2)

Definition at line 497 of file ICP.h.

Referenced by ParentSiblingPeer::~ParentSiblingPeer().

#define PEER_MULTICAST_COUNT_EVENT   (1 << 1)

Definition at line 496 of file ICP.h.

#define PEER_UP   (1 << 0)

Definition at line 495 of file ICP.h.

Referenced by ParentSiblingPeer::ExpectedReplies(), Peer::isUp(), and Peer::LogRecvMsg().

#define RECORD_ICP_STATE_CHANGE (   x,
  y,
  z 
)

Definition at line 1036 of file ICP.h.

Referenced by ICPPeerReadCont::PeerReadStateMachine(), and ICPHandlerCont::PeriodicEvent().


Typedef Documentation

typedef struct ICPData ICPData_t
typedef struct ICPHit ICPHit_t
typedef struct ICPHitObj ICPHitObj_t
typedef struct ICPMiss ICPMiss_t
typedef struct ICPMsg ICPMsg_t
typedef struct ICPMsgHeader ICPMsgHdr_t
typedef struct ICPQuery ICPQuery_t
typedef int(* PluginFreshnessCalcFunc)(void *contp)

Definition at line 1230 of file ICP.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
icp_stat_def 
config_mgmt_callouts_stat 
reconfig_polls_stat 
reconfig_events_stat 
invalid_poll_data_stat 
no_data_read_stat 
short_read_stat 
invalid_sender_stat 
read_not_v2_icp_stat 
icp_remote_query_requests_stat 
icp_remote_responses_stat 
icp_cache_lookup_success_stat 
icp_cache_lookup_fail_stat 
query_response_write_stat 
query_response_partial_write_stat 
no_icp_request_for_response_stat 
icp_response_request_nolock_stat 
icp_start_icpoff_stat 
send_query_partial_write_stat 
icp_queries_no_expected_replies_stat 
icp_query_hits_stat 
icp_query_misses_stat 
invalid_icp_query_response_stat 
icp_query_requests_stat 
total_icp_response_time_stat 
total_udp_send_queries_stat 
total_icp_request_time_stat 
icp_total_reloads 
icp_pending_reloads 
icp_reload_start_aborts 
icp_reload_connect_aborts 
icp_reload_read_aborts 
icp_reload_write_aborts 
icp_reload_successes 
icp_stat_count 

Definition at line 1247 of file ICP.h.

Enumerator:
ICP_OP_INVALID 
ICP_OP_QUERY 
ICP_OP_HIT 
ICP_OP_MISS 
ICP_OP_ERR 
ICP_OP_UNUSED5 
ICP_OP_UNUSED6 
ICP_OP_UNUSED7 
ICP_OP_UNUSED8 
ICP_OP_UNUSED9 
ICP_OP_SECHO 
ICP_OP_DECHO 
ICP_OP_UNUSED12 
ICP_OP_UNUSED13 
ICP_OP_UNUSED14 
ICP_OP_UNUSED15 
ICP_OP_UNUSED16 
ICP_OP_UNUSED17 
ICP_OP_UNUSED18 
ICP_OP_UNUSED19 
ICP_OP_UNUSED20 
ICP_OP_MISS_NOFETCH 
ICP_OP_DENIED 
ICP_OP_HIT_OBJ 
ICP_OP_END_OF_OPS 

Definition at line 70 of file ICP.h.

enum PeerType_t
Enumerator:
PEER_NONE 
PEER_PARENT 
PEER_SIBLING 
PEER_LOCAL 
PEER_MULTICAST 

Definition at line 199 of file ICP.h.


Variable Documentation

Definition at line 38 of file ICPStats.cc.

Referenced by dumpICPstatEntry().

Referenced by ICPProcessor::ICPQuery().