]> git.ipfire.org Git - thirdparty/squid.git/commit - src/DiskIO/IpcIo/IpcIoDiskIOModule.cc
Added IpcIo DiskIO module for communication with remote disk processes via UDS.
authorAlex Rousskov <rousskov@measurement-factory.com>
Tue, 1 Feb 2011 05:01:43 +0000 (22:01 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Tue, 1 Feb 2011 05:01:43 +0000 (22:01 -0700)
commit254912f3ce622519bf0d040cb44f9fbfd9da30e3
tree03597bcec49e6fc1179f9c7b4149c9406066c000
parent095ec2b186469a5512f2b49d90ffdb46c6f5e4b1
Added IpcIo DiskIO module for communication with remote disk processes via UDS.
Used IpcIo for Rock Store filesystem module.

Added StrandSearch API: Workers use it to ask Coordinator for the right
address (i.e., kid identifier) of the disk process for a given cache_dir path.
If Coordinator does not know the answer, it waits for more disk processes to
register. Implemented using generic tagging of kids (StrandCoord) and
searching for the right tag.

Raised UDS message size maximum to 36K in order to accommodate non-trivial
rock store I/O while we are using UDS messages for I/O content.

Fixed shutdown handling broken by hiding cache_dirs from Coordinator while
switching IamPrimaryProcess() logic to use NumberOfKids() which needs
cache_dir count.
23 files changed:
configure.ac
src/DiskIO/IpcIo/DiskIOIpcIo.cc [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoDiskIOModule.cc [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoDiskIOModule.h [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoFile.cc [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoFile.h [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoIOStrategy.cc [new file with mode: 0644]
src/DiskIO/IpcIo/IpcIoIOStrategy.h [new file with mode: 0644]
src/Makefile.am
src/cache_cf.cc
src/fs/rock/RockSwapDir.cc
src/ipc/Coordinator.cc
src/ipc/Coordinator.h
src/ipc/Makefile.am
src/ipc/Messages.h
src/ipc/Strand.cc
src/ipc/Strand.h
src/ipc/StrandCoord.cc
src/ipc/StrandCoord.h
src/ipc/TypedMsgHdr.h
src/ipc/forward.h
src/structs.h
src/tools.cc