]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/StrandCoord.h
6 #ifndef SQUID_IPC_STRAND_COORD_H
7 #define SQUID_IPC_STRAND_COORD_H
9 #include "ipc/forward.h"
10 #include "SquidString.h"
15 /// Strand location details
19 StrandCoord(); ///< unknown location
20 StrandCoord(int akidId
, pid_t aPid
);
22 void pack(TypedMsgHdr
&hdrMsg
) const; ///< prepare for sendmsg()
23 void unpack(const TypedMsgHdr
&hdrMsg
); ///< from recvmsg()
26 int kidId
; ///< internal Squid process number
27 pid_t pid
; ///< OS process or thread identifier
29 String tag
; ///< optional unique well-known key (e.g., cache_dir path)
32 /// strand registration with Coordinator (also used as an ACK)
36 explicit HereIamMessage(const StrandCoord
&strand
); ///< from registrant
37 explicit HereIamMessage(const TypedMsgHdr
&hdrMsg
); ///< from recvmsg()
38 void pack(TypedMsgHdr
&hdrMsg
) const; ///< prepare for sendmsg()
41 StrandCoord strand
; ///< registrant coordinates and related details
46 #endif /* SQUID_IPC_STRAND_COORD_H */