Package org.jcsp.net.dynamic
Class MigratableAltingChannelInputImpl
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelInput<T>
org.jcsp.lang.AltingChannelInputWrapper
org.jcsp.net.NetAltingChannelInput
org.jcsp.net.dynamic.MigratableAltingChannelInput
org.jcsp.net.dynamic.MigratableAltingChannelInputImpl
- All Implemented Interfaces:
Serializable
,ChannelInput
,Poisonable
,MigratableChannelInput
,NetChannelInput
,Networked
,FilteredChannelInput
,ReadFiltered
Implements a migratable input channel end that can be used in an
Alternative
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NetAltingChannelInput
The actual channel input.(package private) static FilteredChannelEndFactory
Factory for creating filtered channel ends.private FilteredChannelInput
A filtered channel input wrapper that wraps theactualIn
channel.private Vector
A Vector ofFilter
objects that is used during serialization.private InputReconnectionManager
The reconnection manager for the channel. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newMigratableAltingChannelInputImpl
with a specified reconnection manager object.Constructor for MigratableAltingChannelInputImpl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addReadFilter
(Filter filter) Installs a read filter defining a transformation to be applied by theread
method of the channel end.void
addReadFilter
(Filter filter, int index) Installs a read filter defining a transformation to be applied by theread
method of the channel end at a specific index.void
Destroys the channel end and frees any resources within the JCSP.NET infrastructure.Returns the location of theNetworked
ChannelInput
.Returnsnull
.getReadFilter
(int index) Returns the read filter installed at the given index.int
Returns the number of read filters currently installed.void
Prepares the channel end for movement to another node.read()
Reads an object from the underlying channel.private void
Reads the serialized object from an input stream.void
removeReadFilter
(int index) Removes the read filter installed at the given index.void
removeReadFilter
(Filter filter) Removes the first read filter (lowest index) matching the filter given as a parameter.private void
When serializing object to the output stream, the filters from the underlying channel are extracted so that they too get serialized.Methods inherited from class org.jcsp.lang.AltingChannelInputWrapper
endRead, getChannel, pending, poison, setChannel, startRead
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jcsp.lang.ChannelInput
endRead, startRead
Methods inherited from interface org.jcsp.lang.Poisonable
poison
-
Field Details
-
FACTORY
Factory for creating filtered channel ends. -
actualIn
The actual channel input. This should not be read from. Use thefilteredIn
channel. -
filteredIn
A filtered channel input wrapper that wraps theactualIn
channel. -
mgr
The reconnection manager for the channel. -
filters
A Vector ofFilter
objects that is used during serialization.
-
-
Constructor Details
-
MigratableAltingChannelInputImpl
Constructor for MigratableAltingChannelInputImpl. This takes aNetAltingChannelInput
and constructs a defaultInputReconnectionManager
object and then uses the constructor taking a singleInputReconnectionManager
object.MigratableAltingChannelInputImpl
objects constructed with this constructor make use of the default channel name service.- Parameters:
in
- the actualNetAltingChannelInput
object to use.
-
MigratableAltingChannelInputImpl
Constructs a newMigratableAltingChannelInputImpl
with a specified reconnection manager object. This should have been given the channel when it was constructed.- Parameters:
mgr
- the reconnection manager.
-
-
Method Details
-
getChannelLocation
Description copied from interface:Networked
Returns the location of theNetworked
ChannelInput
.- Returns:
- the
NetChannelLocation
object. - See Also:
-
read
Reads an object from the underlying channel.- Specified by:
read
in interfaceChannelInput
- Overrides:
read
in classAltingChannelInputWrapper
- Returns:
- the object read.
-
addReadFilter
Description copied from interface:ReadFiltered
Installs a read filter defining a transformation to be applied by theread
method of the channel end. The filter will be appended to the end of the current list, making it the last to be applied.- Parameters:
filter
- the filter to be installed; may not be null.- See Also:
-
addReadFilter
Description copied from interface:ReadFiltered
Installs a read filter defining a transformation to be applied by theread
method of the channel end at a specific index. If there is already a filter at that index position the existing filters are shifted to make room. If the index is greater than the number of filters already installed the filter is placed at the end.- Parameters:
filter
- the filter to be installed; may not be null.index
- the zero based index; may not be negative.- See Also:
-
removeReadFilter
Description copied from interface:ReadFiltered
Removes the first read filter (lowest index) matching the filter given as a parameter. The filter removed,r
, will satisfy the conditionr.equals (filter)
. The remaining filters are shifted to close the gap in the index allocation.- Parameters:
filter
- the filter to be removed; may not be null.- See Also:
-
removeReadFilter
public void removeReadFilter(int index) Description copied from interface:ReadFiltered
Removes the read filter installed at the given index. The remaining filters are shifted to close the gap in the index allocation.- Parameters:
index
- zero-based index of the filter to be removed.- See Also:
-
getReadFilter
Description copied from interface:ReadFiltered
Returns the read filter installed at the given index.- Parameters:
index
- zero-based index of the filter to return.- Returns:
- the filter at that position.
- See Also:
-
getReadFilterCount
public int getReadFilterCount()Description copied from interface:ReadFiltered
Returns the number of read filters currently installed.- See Also:
-
destroyReader
public void destroyReader()Description copied from interface:NetChannelInput
Destroys the channel end and frees any resources within the JCSP.NET infrastructure.
- See Also:
-
org.jcsp.net.NetChannelInputManager#destroyReader()
-
getFactoryClass
Returnsnull
.- Returns:
- the
Class
of the factory class.
-
prepareToMove
public void prepareToMove()Description copied from interface:MigratableChannelInput
Prepares the channel end for movement to another node.- See Also:
-
org.jcsp.dynamic.MigratableChannelInput#prepareToMove()
-
writeObject
When serializing object to the output stream, the filters from the underlying channel are extracted so that they too get serialized.- Parameters:
out
- the stream to write the object to.- Throws:
IOException
-
readObject
Reads the serialized object from an input stream. The default read implementation is used.- Parameters:
in
- object source stream.- Throws:
IOException
ClassNotFoundException
-