CBFS IPC is based on the concept of messages - blocks of data that have a fixed part with predefined fields and optionally have a data part. Using messages you can send commands to other processes and receive replies, transfer the data across multiple processes and do plenty of other useful things.

CBFS IPC was born as an attempt to emulate Windows Messaging subsystem and support sending messages across the network. The idea appeared to be successful and was extended. Now CBFS IPC can be used to transfer data between processes running on the same computer or across network.

While utilizing the same concept of message queue that was used in Windows, CBFS IPC provides identification, on-the-fly compression, encryption and integrity checking of the message being sent. With CBFS IPC, you don't transfer data, instead you send messages (which can contain generic data).

You use methods similar to Windows' messaging subsystem - SendMessage to send a message and wait for result, PostMessage to just send data, SendMessageCallBack to send a message and be notified when result arrives.