Class AbstractKernel

All Implemented Interfaces:
Direct Known Subclasses:
SelectorKernel, UdpKernel

public abstract class AbstractKernel extends Object implements Kernel
Base implementation of the Kernel interface providing several useful default implementations of some methods. This implementation assumes that the kernel will be managing its own internal threads and queuing any results for the caller to retrieve on their own thread.
  • Constructor Details

    • AbstractKernel

      protected AbstractKernel()
  • Method Details

    • reportError

      protected void reportError(Exception e)
    • wakeupReader

      protected void wakeupReader()
    • nextEndpointId

      protected long nextEndpointId()
    • hasEnvelopes

      public boolean hasEnvelopes()
      Returns true if there are waiting envelopes.
      Specified by:
      hasEnvelopes in interface Kernel
    • read

      public Envelope read() throws InterruptedException
      Removes one envelope from the received messages queue or blocks until one is available.
      Specified by:
      read in interface Kernel
    • nextEvent

      public EndpointEvent nextEvent()
      Removes and returns one endpoint event from the event queue or null if there are no endpoint events.
      Specified by:
      nextEvent in interface Kernel
    • addEvent

      protected void addEvent(EndpointEvent e)
    • addEnvelope

      protected void addEnvelope(Envelope env)