]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/StrandCoord.h
4 #ifndef SQUID_IPC_STRAND_COORD_H
5 #define SQUID_IPC_STRAND_COORD_H
7 #include "ipc/forward.h"
8 #include "SquidString.h"
13 /// Strand location details
17 StrandCoord(); ///< unknown location
18 StrandCoord(int akidId
, pid_t aPid
);
20 void pack(TypedMsgHdr
&hdrMsg
) const; ///< prepare for sendmsg()
21 void unpack(const TypedMsgHdr
&hdrMsg
); ///< from recvmsg()
24 int kidId
; ///< internal Squid process number
25 pid_t pid
; ///< OS process or thread identifier
27 String tag
; ///< optional unique well-known key (e.g., cache_dir path)
30 /// strand registration with Coordinator (also used as an ACK)
34 explicit HereIamMessage(const StrandCoord
&strand
); ///< from registrant
35 explicit HereIamMessage(const TypedMsgHdr
&hdrMsg
); ///< from recvmsg()
36 void pack(TypedMsgHdr
&hdrMsg
) const; ///< prepare for sendmsg()
39 StrandCoord strand
; ///< registrant coordinates and related details
44 #endif /* SQUID_IPC_STRAND_COORD_H */