Ipc Namespace Reference

Namespaces

 Mem
 

Classes

class  Coordinator
 Coordinates shared activities of Strands (Squid processes or threads) More...
 
class  Forwarder
 
class  Inquirer
 
class  MemMapSlot
 a MemMap basic element, holding basic shareable memory block info More...
 
class  MemMap
 A map of MemMapSlots indexed by their keys, with read/write slot locking. More...
 
class  MemMapCleaner
 API for adjusting external state when dirty map slot is being freed. More...
 
class  Port
 Waits for and receives incoming IPC messages; kids handle the messages. More...
 
class  QueueReader
 
class  QueueReaders
 shared array of QueueReaders More...
 
class  OneToOneUniQueue
 
class  OneToOneUniQueues
 shared array of OneToOneUniQueues More...
 
class  BaseMultiQueue
 
class  FewToFewBiQueue
 
class  MultiQueue
 
class  ReadWriteLock
 
class  ReadWriteLockStats
 approximate stats of a set of ReadWriteLocks More...
 
class  Request
 IPC request. More...
 
class  Response
 A response to Ipc::Request. More...
 
class  OpenListenerParams
 "shared listen" is when concurrent processes are listening on the same fd More...
 
class  SharedListenRequest
 a request for a listen socket with given parameters More...
 
class  SharedListenResponse
 a response to SharedListenRequest More...
 
class  StartListeningCb
 common API for all StartListening() callbacks More...
 
class  StoreMapSlice
 
class  StoreMapAnchor
 
class  StoreMapItems
 
class  StoreMapAnchors
 
class  StoreMapUpdate
 Aggregates information required for updating entry metadata and headers. More...
 
class  StoreMap
 
class  StoreMapCleaner
 API for adjusting external state when dirty map slice is being freed. More...
 
class  Strand
 Receives coordination messages on behalf of its process or thread. More...
 
class  StrandCoord
 Strand location details. More...
 
class  HereIamMessage
 strand registration with Coordinator (also used as an ACK) More...
 
class  StrandSearchRequest
 asynchronous strand search request More...
 
class  StrandSearchResponse
 asynchronous strand search response More...
 
class  TypedMsgHdr
 struct msghdr with a known type, fixed-size I/O and control buffers More...
 
class  UdsOp
 
class  UdsSender
 attempts to send an IPC message a few times, with a timeout More...
 

Typedefs

typedef int32_t StoreMapSliceId
 
typedef StoreMapItems
< StoreMapSlice
StoreMapSlices
 StoreMapSlices indexed by their slice ID. More...
 
typedef StoreMapItems
< std::atomic< sfileno > > 
StoreMapFileNos
 StoreMapAnchor positions, indexed by entry "name" (i.e., the entry key hash) More...
 
typedef std::vector< StrandCoordStrandCoords
 a collection of strand coordinates; the order, if any, is owner-dependent More...
 

Enumerations

enum  FdNoteId {
  fdnNone,
  fdnHttpSocket,
  fdnHttpsSocket,
  fdnFtpSocket,
  fdnInSnmpSocket,
  fdnOutSnmpSocket,
  fdnInIcpSocket,
  fdnInHtcpSocket,
  fdnEnd
}
 We cannot send char* FD notes to other processes. Pass int IDs and convert. More...
 
enum  MessageType {
  mtNone = 0,
  mtRegistration,
  mtStrandSearchRequest,
  mtStrandSearchResponse,
  mtSharedListenRequest,
  mtSharedListenResponse,
  mtIpcIoNotification,
  mtCollapsedForwardingNotification,
  mtCacheMgrRequest,
  mtCacheMgrResponse,
  mtSnmpRequest,
  mtSnmpResponse
}
 message class identifier More...
 

Functions

const char * FdNote (int fdNodeId)
 converts FdNoteId into a string More...
 
void AssertFlagIsSet (std::atomic_flag &flag)
 
std::ostream & operator<< (std::ostream &os, const Response &response)
 
void JoinSharedListen (const OpenListenerParams &, AsyncCall::Pointer &)
 prepare and send SharedListenRequest to Coordinator More...
 
void SharedListenJoined (const SharedListenResponse &response)
 process Coordinator response to SharedListenRequest More...
 
void StartListening (int sock_type, int proto, const Comm::ConnectionPointer &listenConn, FdNoteId fdNote, AsyncCall::Pointer &callback)
 
struct sockaddr_un PathToAddress (const String &pathAddr)
 converts human-readable filename path into UDS address More...
 
void SendMessage (const String &toAddress, const TypedMsgHdr &message)
 
const Comm::ConnectionPointerImportFdIntoComm (const Comm::ConnectionPointer &conn, int socktype, int protocol, FdNoteId noteId)
 import socket fd from another strand into our Comm state More...
 

Variables

const char strandAddrLabel [] = "-kid"
 strand's listening address unique label More...
 

Detailed Description

Declarations used by various IPC messages

Typedef Documentation

typedef StoreMapItems< std::atomic<sfileno> > Ipc::StoreMapFileNos

Definition at line 143 of file StoreMap.h.

typedef int32_t Ipc::StoreMapSliceId

Definition at line 24 of file StoreMap.h.

Definition at line 121 of file StoreMap.h.

Definition at line 19 of file StrandCoords.h.

Enumeration Type Documentation

fd_note() label ID

Enumerator
fdnNone 
fdnHttpSocket 
fdnHttpsSocket 
fdnFtpSocket 
fdnInSnmpSocket 
fdnOutSnmpSocket 
fdnInIcpSocket 
fdnInHtcpSocket 
fdnEnd 

Definition at line 20 of file FdNotes.h.

Enumerator
mtNone 
mtRegistration 
mtStrandSearchRequest 
mtStrandSearchResponse 
mtSharedListenRequest 
mtSharedListenResponse 
mtIpcIoNotification 
mtCollapsedForwardingNotification 
mtCacheMgrRequest 
mtCacheMgrResponse 
mtSnmpRequest 
mtSnmpResponse 

Definition at line 20 of file Messages.h.

Function Documentation

void Ipc::AssertFlagIsSet ( std::atomic_flag &  flag)

Same as assert(flag is set): The process assert()s if flag is not set. Side effect: The unset flag becomes set just before we assert(). Needed because atomic_flag cannot be compared with a boolean.

Definition at line 15 of file ReadWriteLock.cc.

References assert.

Referenced by Ipc::StoreMap::abortUpdating(), Ipc::StoreMap::closeForUpdating(), and Ipc::ReadWriteLock::unlockHeaders().

void Ipc::JoinSharedListen ( const OpenListenerParams &  params,
AsyncCall::Pointer cb 
)
std::ostream& Ipc::operator<< ( std::ostream &  os,
const Response &  response 
)
inline

Definition at line 42 of file Response.h.

References Ipc::Response::requestId.

struct sockaddr_un Ipc::PathToAddress ( const String pathAddr)

Definition at line 73 of file UdsOp.cc.

References AF_LOCAL, assert, sockaddr_un::sun_family, sockaddr_un::sun_path, and xstrncpy().

Variable Documentation

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors