Asynchronous publish/subscribe messaging is a simple but powerful interprocess communication technique that is widely used in industry. It is less widely used in the academic/research world, partly because commercial implementations are fairly expensive cMsg is both a full-featured publish/subscribe package and a framework within which one can deploy multiply underlying communication packages. The underlying packages need not implement asynchronous publish/subscribe messaging. This framework feature allows one to unify all communications under a single, flexible API, and allows for integration of legacy communication packages. Performance is excellent, making cMsg suitable for use in controls applications as well as in high-speed data transfer applications. cMsg will be used extensively by the next generation of experiments at JLab.1展开▼