« Index of all namespaces of this project
Facilities to ensure that an IChannelEndpoint can send and receive any Clojure data structure via the IDataEndpoint protocol.
Facilities to ensure that an IChannelEndpoint can send and receive any Clojure data structure via the IDataEndpoint protocol. If the IQueueEndpoint underlying an IChannelEndpoint can transmit Clojure data structures natively, then implementation of IDataEndpoint is a no-op -- its send-channel and receive-channel can simply pass through the results of IChannelEndpoint's enqueue-channel and dequeue-channel. IQueueEndpoints that cannot transmit Clojure data structures directly have to take the IChannelEndpoint channels and decorate them with appropriate middleware to translate the Clojure data structures into something that the underlying IQueueEndpoint can understand. For example, IronMQ can only transmit strings, so Clojure data structures must be encoded somehow, such as with EDN or JSON middleware.
Returns a core.async channel that dequeues messages from the underlying transport, translates them into Clojure data structures if necessary, and places them on the channel.