|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.activeio.FilterSyncChannel
org.activeio.filter.SynchornizedSyncChannel
Used to synchronize concurrent access to a SynchChannel.
Uses two different Sync
objects
for write and read operations. All other operations such as stop(long)
and stop(long)
just do a normal java synchronization against the SynchornizedSynchChannel
object instance.
Field Summary |
Fields inherited from interface org.activeio.Service |
NO_WAIT_TIMEOUT, WAIT_FOREVER_TIMEOUT |
Constructor Summary | |
SynchornizedSyncChannel(SyncChannel next)
|
|
SynchornizedSyncChannel(SyncChannel next,
Sync readLock,
Sync writeLock)
|
Method Summary | |
void |
dispose()
This method should not throw any exceptions. |
void |
flush()
Some channels may buffer data which may be sent down if flush() is called. |
Sync |
getReadLock()
|
Sync |
getWriteLock()
|
Object |
narrow(Class target)
Since a Channel may be composed from a chain of other Channel obejcts, this method allows you to query the chain for the specified interface. |
Packet |
read(long timeout)
Used to synchronously receive a packet of information going 'up' the channel. |
void |
start()
Starts the channel. |
void |
stop(long timeout)
Stops the channel. |
void |
write(Packet packet)
Sends a packet down the channel towards the media. |
Methods inherited from class org.activeio.FilterSyncChannel |
getNext, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public SynchornizedSyncChannel(SyncChannel next)
public SynchornizedSyncChannel(SyncChannel next, Sync readLock, Sync writeLock)
Method Detail |
public Packet read(long timeout) throws IOException
InputSyncChannel
read
in interface InputSyncChannel
read
in class FilterSyncChannel
IOException
InputSyncChannel.read(long)
public void write(Packet packet) throws IOException
OutputChannel
write
in interface OutputChannel
write
in class FilterSyncChannel
IOException
org.activeio.Channel#write(org.activeio.Packet)
public void flush() throws IOException
OutputChannel
flush
in interface OutputChannel
flush
in class FilterSyncChannel
IOException
org.activeio.Channel#flush()
public void dispose()
Disposable
dispose
in interface Disposable
dispose
in class FilterSyncChannel
Disposable.dispose()
public Object narrow(Class target)
Channel
narrow
in interface Channel
narrow
in class FilterSyncChannel
public void start() throws IOException
Service
start
in interface Service
start
in class FilterSyncChannel
IOException
Service.start()
public void stop(long timeout) throws IOException
Service
stop
in interface Service
stop
in class FilterSyncChannel
IOException
Service.stop(long)
public Sync getReadLock()
public Sync getWriteLock()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |