]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/CollapsedForwarding.h
2 * DEBUG: section 17 Request Forwarding
6 #ifndef SQUID_COLLAPSED_FORWARDING_H
7 #define SQUID_COLLAPSED_FORWARDING_H
9 #include "ipc/forward.h"
10 #include "ipc/Queue.h"
17 /// Sends and handles collapsed forwarding notifications.
18 class CollapsedForwarding
21 /// open shared memory segment
24 /// notify other workers about changes in entry state (e.g., new data)
25 static void Broadcast(const StoreEntry
&e
);
27 /// kick worker with empty IPC queue
28 static void Notify(const int workerId
);
30 /// handle new data messages in IPC queue
31 static void HandleNewData(const char *const when
);
33 /// handle queue push notifications from worker or disker
34 static void HandleNotification(const Ipc::TypedMsgHdr
&msg
);
37 typedef Ipc::MultiQueue Queue
;
38 static std::auto_ptr
<Queue
> queue
; ///< IPC queue
41 #endif /* SQUID_COLLAPSED_FORWARDING_H */