MQ4CPP, or "Message Queuing for C++", is an implementation of an enterprise messaging system, also referred to as message-oriented middleware (MOM). It enables C++ application threads to communicate with other threads locally or remotely through the exchange of messages. A message is a request, report, and/or event that contains information needed to coordinate communication between different applications. MQ4CPP implements direct/indirect messaging, unsolicited messaging, request/reply, conversation, publish/subscribe, store & forward, and broadcast. It supports multithreading, application clustering (failover and session replication), and encryption. MQ4CPP also includes a distributed lock manager, a file transfer manager, and a distributed memory channel.