Package zmq

Class SocketBase

All Implemented Interfaces:
Pipe.IPipeEvents, IPollEvents
Direct Known Subclasses:
Dealer, Pair, Pull, Push, Router, Stream, XPub, XSub

public abstract class SocketBase extends Own implements IPollEvents, Pipe.IPipeEvents
  • Field Details

    • endpoints

      private final MultiMap<String,SocketBase.EndpointPipe> endpoints
    • inprocs

      private final MultiMap<String,Pipe> inprocs
    • active

      private boolean active
    • ctxTerminated

      private boolean ctxTerminated
    • destroyed

      private boolean destroyed
    • mailbox

      private final Mailbox mailbox
    • pipes

      private final Set<Pipe> pipes
    • poller

      private Poller poller
    • handle

      private Poller.Handle handle
    • lastTsc

      private long lastTsc
    • ticks

      private int ticks
    • rcvmore

      private boolean rcvmore
    • fileDesc

      private SocketChannel fileDesc
    • monitorSocket

      private SocketBase monitorSocket
    • monitorEvents

      private int monitorEvents
    • connectRid

      protected String connectRid
    • monitorSync

      private final ReentrantLock monitorSync
  • Constructor Details

    • SocketBase

      protected SocketBase(Ctx parent, int tid, int sid)
  • Method Details

    • xattachPipe

      protected abstract void xattachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)
    • xpipeTerminated

      protected abstract void xpipeTerminated(Pipe pipe)
    • isActive

      boolean isActive()
      Returns:
      false if object is not a socket.
    • destroy

      protected void destroy()
      Specified by:
      destroy in class Own
    • getMailbox

      final Mailbox getMailbox()
    • stop

      final void stop()
    • checkProtocol

      private NetProtocol checkProtocol(String protocol)
    • attachPipe

      private void attachPipe(Pipe pipe, boolean isLocallyInitiated)
    • attachPipe

      private void attachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)
    • setSocketOpt

      public final boolean setSocketOpt(int option, Object optval)
    • getSocketOpt

      public final int getSocketOpt(int option)
    • getSocketOptx

      public final Object getSocketOptx(int option)
    • bind

      public final boolean bind(String addr)
    • connect

      public final boolean connect(String addr)
    • addEndpoint

      private void addEndpoint(String addr, Own endpoint, Pipe pipe)
    • termEndpoint

      public final boolean termEndpoint(String addr)
    • send

      public final boolean send(Msg msg, int flags)
    • recv

      public final Msg recv(int flags)
    • close

      public final void close()
    • hasIn

      final boolean hasIn()
    • hasOut

      final boolean hasOut()
    • startReaping

      final void startReaping(Poller poller)
    • processCommands

      private boolean processCommands(int timeout, boolean throttle)
    • processStop

      protected final void processStop()
      Overrides:
      processStop in class ZObject
    • processBind

      protected final void processBind(Pipe pipe)
      Overrides:
      processBind in class ZObject
    • processTerm

      protected final void processTerm(int linger)
      Overrides:
      processTerm in class Own
    • processDestroy

      protected final void processDestroy()
      Overrides:
      processDestroy in class Own
    • xsetsockopt

      protected boolean xsetsockopt(int option, Object optval)
    • xhasOut

      protected boolean xhasOut()
    • xsend

      protected boolean xsend(Msg msg)
    • xhasIn

      protected boolean xhasIn()
    • xrecv

      protected Msg xrecv()
    • getCredential

      protected Blob getCredential()
    • xreadActivated

      protected void xreadActivated(Pipe pipe)
    • xwriteActivated

      protected void xwriteActivated(Pipe pipe)
    • xhiccuped

      protected void xhiccuped(Pipe pipe)
    • inEvent

      public final void inEvent()
      Description copied from interface: IPollEvents
      Called by I/O thread when file descriptor is ready for reading.
      Specified by:
      inEvent in interface IPollEvents
    • checkDestroy

      private void checkDestroy()
    • readActivated

      public final void readActivated(Pipe pipe)
      Specified by:
      readActivated in interface Pipe.IPipeEvents
    • writeActivated

      public final void writeActivated(Pipe pipe)
      Specified by:
      writeActivated in interface Pipe.IPipeEvents
    • hiccuped

      public final void hiccuped(Pipe pipe)
      Specified by:
      hiccuped in interface Pipe.IPipeEvents
    • pipeTerminated

      public final void pipeTerminated(Pipe pipe)
      Specified by:
      pipeTerminated in interface Pipe.IPipeEvents
    • extractFlags

      private void extractFlags(Msg msg)
    • monitor

      public final boolean monitor(String addr, int events)
    • eventHandshaken

      public final void eventHandshaken(String addr, int zmtpVersion)
    • eventConnected

      public final void eventConnected(String addr, SelectableChannel ch)
    • eventConnectDelayed

      public final void eventConnectDelayed(String addr, int errno)
    • eventConnectRetried

      public final void eventConnectRetried(String addr, int interval)
    • eventListening

      public final void eventListening(String addr, SelectableChannel ch)
    • eventBindFailed

      public final void eventBindFailed(String addr, int errno)
    • eventAccepted

      public final void eventAccepted(String addr, SelectableChannel ch)
    • eventAcceptFailed

      public final void eventAcceptFailed(String addr, int errno)
    • eventClosed

      public final void eventClosed(String addr, SelectableChannel ch)
    • eventCloseFailed

      public final void eventCloseFailed(String addr, int errno)
    • eventDisconnected

      public final void eventDisconnected(String addr, SelectableChannel ch)
    • event

      private void event(String addr, Object arg, int event)
    • monitorEvent

      protected final void monitorEvent(ZMQ.Event event)
    • stopMonitor

      private void stopMonitor()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getFD

      public final SelectableChannel getFD()
    • typeString

      public String typeString()
    • errno

      public final int errno()