0

I am using a quasar fiber to listen to and process messages on a QueueObjectChannel. I am not sure what Object I am supposed to use as the message queue between fibers. The problem I am having is I don't understand what is supposed to be passed into the QueueObjectChannel Constructor. According to the javadoc the constructor is supposed to take QueueObjectChannel(co.paralleluniverse.strands.queues.BasicQueue<Message> queue, Channels.OverflowPolicy policy, boolean singleProducer, boolean singleConsumer) but that seems counterintuitive because I am trying to build something that implements BasicQueue.

Am I supposed to implement the interface?

Is my understanding of inter fiber communication completely off?

ford prefect
  • 7,096
  • 11
  • 56
  • 83

1 Answers1

1

Usually one wants to (and should) use the channels API, not the backing queues. For example different queue implementations can only work and/or are only optimal with some data types, with threads and/or fibers, with a specific buffer configuration, when there's a single consumer etc.

As explained here just use the static Channels.new*Channel methods passing in the properties you need and you'll get a channel backed by a queue that is tailor-suited to your use case.

circlespainter
  • 836
  • 5
  • 8