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 classSocketBase.EndpointPipeprivate static classSocketBase.SimpleURI
-
Field Summary
Fields Modifier and Type Field Description private booleanactiveprotected java.lang.StringconnectRidprivate booleanctxTerminatedprivate booleandestroyedprivate MultiMap<java.lang.String,SocketBase.EndpointPipe>endpointsprivate java.nio.channels.SocketChannelfileDescprivate Poller.Handlehandleprivate MultiMap<java.lang.String,Pipe>inprocsprivate longlastTscprivate Mailboxmailboxprivate intmonitorEventsprivate SocketBasemonitorSocketprivate java.util.concurrent.locks.ReentrantLockmonitorSyncprivate java.util.Set<Pipe>pipesprivate Pollerpollerprivate booleanrcvmoreprivate intticks
-
Constructor Summary
Constructors Modifier Constructor Description protectedSocketBase(Ctx parent, int tid, int sid)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private voidaddEndpoint(java.lang.String addr, Own endpoint, Pipe pipe)private voidattachPipe(Pipe pipe, boolean isLocallyInitiated)private voidattachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)booleanbind(java.lang.String addr)private voidcheckDestroy()private NetProtocolcheckProtocol(java.lang.String protocol)voidclose()booleanconnect(java.lang.String addr)protected voiddestroy()interrno()private voidevent(java.lang.String addr, java.lang.Object arg, int event)voideventAccepted(java.lang.String addr, java.nio.channels.SelectableChannel ch)voideventAcceptFailed(java.lang.String addr, int errno)voideventBindFailed(java.lang.String addr, int errno)voideventClosed(java.lang.String addr, java.nio.channels.SelectableChannel ch)voideventCloseFailed(java.lang.String addr, int errno)voideventConnectDelayed(java.lang.String addr, int errno)voideventConnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)voideventConnectRetried(java.lang.String addr, int interval)voideventDisconnected(java.lang.String addr, java.nio.channels.SelectableChannel ch)voideventHandshaken(java.lang.String addr, int zmtpVersion)voideventListening(java.lang.String addr, java.nio.channels.SelectableChannel ch)private voidextractFlags(Msg msg)protected BlobgetCredential()java.nio.channels.SelectableChannelgetFD()(package private) MailboxgetMailbox()intgetSocketOpt(int option)java.lang.ObjectgetSocketOptx(int option)(package private) booleanhasIn()(package private) booleanhasOut()voidhiccuped(Pipe pipe)voidinEvent()Called by I/O thread when file descriptor is ready for reading.(package private) booleanisActive()booleanmonitor(java.lang.String addr, int events)protected voidmonitorEvent(ZMQ.Event event)voidpipeTerminated(Pipe pipe)protected voidprocessBind(Pipe pipe)private booleanprocessCommands(int timeout, boolean throttle)protected voidprocessDestroy()protected voidprocessStop()protected voidprocessTerm(int linger)voidreadActivated(Pipe pipe)Msgrecv(int flags)booleansend(Msg msg, int flags)booleansetSocketOpt(int option, java.lang.Object optval)(package private) voidstartReaping(Poller poller)(package private) voidstop()private voidstopMonitor()booleantermEndpoint(java.lang.String addr)java.lang.StringtoString()java.lang.StringtypeString()voidwriteActivated(Pipe pipe)protected abstract voidxattachPipe(Pipe pipe, boolean subscribe2all, boolean isLocallyInitiated)protected booleanxhasIn()protected booleanxhasOut()protected voidxhiccuped(Pipe pipe)protected abstract voidxpipeTerminated(Pipe pipe)protected voidxreadActivated(Pipe pipe)protected Msgxrecv()protected booleanxsend(Msg msg)protected booleanxsetsockopt(int option, java.lang.Object optval)protected voidxwriteActivated(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:
processStopin classZObject
-
processBind
protected final void processBind(Pipe pipe)
- Overrides:
processBindin classZObject
-
processTerm
protected final void processTerm(int linger)
- Overrides:
processTermin classOwn
-
processDestroy
protected final void processDestroy()
- Overrides:
processDestroyin 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:IPollEventsCalled by I/O thread when file descriptor is ready for reading.- Specified by:
inEventin interfaceIPollEvents
-
checkDestroy
private void checkDestroy()
-
readActivated
public final void readActivated(Pipe pipe)
- Specified by:
readActivatedin interfacePipe.IPipeEvents
-
writeActivated
public final void writeActivated(Pipe pipe)
- Specified by:
writeActivatedin interfacePipe.IPipeEvents
-
hiccuped
public final void hiccuped(Pipe pipe)
- Specified by:
hiccupedin interfacePipe.IPipeEvents
-
pipeTerminated
public final void pipeTerminated(Pipe pipe)
- Specified by:
pipeTerminatedin 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:
toStringin classjava.lang.Object
-
getFD
public final java.nio.channels.SelectableChannel getFD()
-
typeString
public java.lang.String typeString()
-
errno
public final int errno()
-
-