Package zmq
Class SocketBase
- java.lang.Object
-
- zmq.ZObject
-
- zmq.Own
-
- zmq.SocketBase
-
- All Implemented Interfaces:
Pipe.IPipeEvents
,IPollEvents
public abstract class SocketBase extends Own implements IPollEvents, Pipe.IPipeEvents
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SocketBase.EndpointPipe
private static class
SocketBase.SimpleURI
-
Field Summary
Fields Modifier and Type Field Description private boolean
active
protected java.lang.String
connectRid
private boolean
ctxTerminated
private boolean
destroyed
private MultiMap<java.lang.String,SocketBase.EndpointPipe>
endpoints
private java.nio.channels.SocketChannel
fileDesc
private Poller.Handle
handle
private MultiMap<java.lang.String,Pipe>
inprocs
private long
lastTsc
private Mailbox
mailbox
private int
monitorEvents
private SocketBase
monitorSocket
private java.util.concurrent.locks.ReentrantLock
monitorSync
private java.util.Set<Pipe>
pipes
private Poller
poller
private boolean
rcvmore
private int
ticks
-
Constructor Summary
Constructors Modifier Constructor Description protected
SocketBase(Ctx parent, int tid, int sid)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
addEndpoint(java.lang.String addr, Own endpoint, Pipe pipe)
private void
attachPipe(Pipe pipe, boolean isLocallyInitiated)
private void
attachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)
boolean
bind(java.lang.String addr)
private void
checkDestroy()
private NetProtocol
checkProtocol(java.lang.String protocol)
void
close()
boolean
connect(java.lang.String addr)
protected void
destroy()
int
errno()
private void
event(java.lang.String addr, java.lang.Object arg, int event)
void
eventAccepted(java.lang.String addr, java.nio.channels.SelectableChannel ch)
void
eventAcceptFailed(java.lang.String addr, int errno)
void
eventBindFailed(java.lang.String addr, int errno)
void
eventClosed(java.lang.String addr, java.nio.channels.SelectableChannel ch)
void
eventCloseFailed(java.lang.String addr, int errno)
void
eventConnectDelayed(java.lang.String addr, int errno)
void
eventConnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)
void
eventConnectRetried(java.lang.String addr, int interval)
void
eventDisconnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)
void
eventHandshaken(java.lang.String addr, int zmtpVersion)
void
eventListening(java.lang.String addr, java.nio.channels.SelectableChannel ch)
private void
extractFlags(Msg msg)
protected Blob
getCredential()
java.nio.channels.SelectableChannel
getFD()
(package private) Mailbox
getMailbox()
int
getSocketOpt(int option)
java.lang.Object
getSocketOptx(int option)
(package private) boolean
hasIn()
(package private) boolean
hasOut()
void
hiccuped(Pipe pipe)
void
inEvent()
Called by I/O thread when file descriptor is ready for reading.(package private) boolean
isActive()
boolean
monitor(java.lang.String addr, int events)
protected void
monitorEvent(ZMQ.Event event)
void
pipeTerminated(Pipe pipe)
protected void
processBind(Pipe pipe)
private boolean
processCommands(int timeout, boolean throttle)
protected void
processDestroy()
protected void
processStop()
protected void
processTerm(int linger)
void
readActivated(Pipe pipe)
Msg
recv(int flags)
boolean
send(Msg msg, int flags)
boolean
setSocketOpt(int option, java.lang.Object optval)
(package private) void
startReaping(Poller poller)
(package private) void
stop()
private void
stopMonitor()
boolean
termEndpoint(java.lang.String addr)
java.lang.String
toString()
java.lang.String
typeString()
void
writeActivated(Pipe pipe)
protected abstract void
xattachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)
protected boolean
xhasIn()
protected boolean
xhasOut()
protected void
xhiccuped(Pipe pipe)
protected abstract void
xpipeTerminated(Pipe pipe)
protected void
xreadActivated(Pipe pipe)
protected Msg
xrecv()
protected boolean
xsend(Msg msg)
protected boolean
xsetsockopt(int option, java.lang.Object optval)
protected void
xwriteActivated(Pipe pipe)
-
Methods inherited from class zmq.Own
incSeqnum, isTerminating, launchChild, processOwn, processSeqnum, processTermAck, processTermReq, registerTermAcks, termChild, terminate, unregisterTermAck
-
Methods inherited from class zmq.ZObject
chooseIoThread, connectPending, destroySocket, findEndpoint, getCtx, getTid, pendConnection, processActivateRead, processActivateWrite, processAttach, processCommand, processHiccup, processPipeTerm, processPipeTermAck, processPlug, processReap, processReaped, registerEndpoint, sendActivateRead, sendActivateWrite, sendAttach, sendAttach, sendBind, sendBind, sendDone, sendHiccup, sendInprocConnected, sendOwn, sendPipeTerm, sendPipeTermAck, sendPlug, sendPlug, sendReap, sendReaped, sendStop, sendTerm, sendTermAck, sendTermReq, setTid, unregisterEndpoint, unregisterEndpoints
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface zmq.poll.IPollEvents
acceptEvent, connectEvent, outEvent, timerEvent
-
-
-
-
Field Detail
-
endpoints
private final MultiMap<java.lang.String,SocketBase.EndpointPipe> endpoints
-
active
private boolean active
-
ctxTerminated
private boolean ctxTerminated
-
destroyed
private boolean destroyed
-
mailbox
private final Mailbox mailbox
-
pipes
private final java.util.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 java.nio.channels.SocketChannel fileDesc
-
monitorSocket
private SocketBase monitorSocket
-
monitorEvents
private int monitorEvents
-
connectRid
protected java.lang.String connectRid
-
monitorSync
private final java.util.concurrent.locks.ReentrantLock monitorSync
-
-
Constructor Detail
-
SocketBase
protected SocketBase(Ctx parent, int tid, int sid)
-
-
Method Detail
-
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.
-
getMailbox
final Mailbox getMailbox()
-
stop
final void stop()
-
checkProtocol
private NetProtocol checkProtocol(java.lang.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, java.lang.Object optval)
-
getSocketOpt
public final int getSocketOpt(int option)
-
getSocketOptx
public final java.lang.Object getSocketOptx(int option)
-
bind
public final boolean bind(java.lang.String addr)
-
connect
public final boolean connect(java.lang.String addr)
-
termEndpoint
public final boolean termEndpoint(java.lang.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 classZObject
-
processBind
protected final void processBind(Pipe pipe)
- Overrides:
processBind
in classZObject
-
processTerm
protected final void processTerm(int linger)
- Overrides:
processTerm
in classOwn
-
processDestroy
protected final void processDestroy()
- Overrides:
processDestroy
in classOwn
-
xsetsockopt
protected boolean xsetsockopt(int option, java.lang.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 interfaceIPollEvents
-
checkDestroy
private void checkDestroy()
-
readActivated
public final void readActivated(Pipe pipe)
- Specified by:
readActivated
in interfacePipe.IPipeEvents
-
writeActivated
public final void writeActivated(Pipe pipe)
- Specified by:
writeActivated
in interfacePipe.IPipeEvents
-
hiccuped
public final void hiccuped(Pipe pipe)
- Specified by:
hiccuped
in interfacePipe.IPipeEvents
-
pipeTerminated
public final void pipeTerminated(Pipe pipe)
- Specified by:
pipeTerminated
in interfacePipe.IPipeEvents
-
extractFlags
private void extractFlags(Msg msg)
-
monitor
public final boolean monitor(java.lang.String addr, int events)
-
eventHandshaken
public final void eventHandshaken(java.lang.String addr, int zmtpVersion)
-
eventConnected
public final void eventConnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)
-
eventConnectDelayed
public final void eventConnectDelayed(java.lang.String addr, int errno)
-
eventConnectRetried
public final void eventConnectRetried(java.lang.String addr, int interval)
-
eventListening
public final void eventListening(java.lang.String addr, java.nio.channels.SelectableChannel ch)
-
eventBindFailed
public final void eventBindFailed(java.lang.String addr, int errno)
-
eventAccepted
public final void eventAccepted(java.lang.String addr, java.nio.channels.SelectableChannel ch)
-
eventAcceptFailed
public final void eventAcceptFailed(java.lang.String addr, int errno)
-
eventClosed
public final void eventClosed(java.lang.String addr, java.nio.channels.SelectableChannel ch)
-
eventCloseFailed
public final void eventCloseFailed(java.lang.String addr, int errno)
-
eventDisconnected
public final void eventDisconnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)
-
event
private void event(java.lang.String addr, java.lang.Object arg, int event)
-
monitorEvent
protected final void monitorEvent(ZMQ.Event event)
-
stopMonitor
private void stopMonitor()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getFD
public final java.nio.channels.SelectableChannel getFD()
-
typeString
public java.lang.String typeString()
-
errno
public final int errno()
-
-