Class MigratableAltingChannelInputImpl
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingChannelInput
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 NetAltingChannelInputThe actual channel input.(package private) static FilteredChannelEndFactoryFactory for creating filtered channel ends.private FilteredChannelInputA filtered channel input wrapper that wraps theactualInchannel.private VectorA Vector ofFilterobjects that is used during serialization.private InputReconnectionManagerThe reconnection manager for the channel. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newMigratableAltingChannelInputImplwith a specified reconnection manager object.Constructor for MigratableAltingChannelInputImpl. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddReadFilter(Filter filter) Installs a read filter defining a transformation to be applied by thereadmethod of the channel end.voidaddReadFilter(Filter filter, int index) Installs a read filter defining a transformation to be applied by thereadmethod of the channel end at a specific index.voidDestroys the channel end and frees any resources within the JCSP.NET infrastructure.Returns the location of theNetworkedChannelInput.Returnsnull.getReadFilter(int index) Returns the read filter installed at the given index.intReturns the number of read filters currently installed.voidPrepares the channel end for movement to another node.read()Reads an object from the underlying channel.private voidReads the serialized object from an input stream.voidremoveReadFilter(int index) Removes the read filter installed at the given index.voidremoveReadFilter(Filter filter) Removes the first read filter (lowest index) matching the filter given as a parameter.private voidWhen serializing object to the output stream, the filters from the underlying channel are extracted so that they too get serialized.Methods inherited from class AltingChannelInputWrapper
endRead, getChannel, pending, poison, setChannel, startReadMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChannelInput
endRead, startReadMethods inherited from interface Poisonable
poison
-
Field Details
-
FACTORY
Factory for creating filtered channel ends. -
actualIn
The actual channel input. This should not be read from. Use thefilteredInchannel. -
filteredIn
A filtered channel input wrapper that wraps theactualInchannel. -
mgr
The reconnection manager for the channel. -
filters
A Vector ofFilterobjects that is used during serialization.
-
-
Constructor Details
-
MigratableAltingChannelInputImpl
Constructor for MigratableAltingChannelInputImpl. This takes aNetAltingChannelInputand constructs a defaultInputReconnectionManagerobject and then uses the constructor taking a singleInputReconnectionManagerobject.MigratableAltingChannelInputImplobjects constructed with this constructor make use of the default channel name service.- Parameters:
in- the actualNetAltingChannelInputobject to use.
-
MigratableAltingChannelInputImpl
Constructs a newMigratableAltingChannelInputImplwith 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:NetworkedReturns the location of theNetworkedChannelInput.- Returns:
- the
NetChannelLocationobject. - See Also:
-
read
Reads an object from the underlying channel.- Specified by:
readin interfaceChannelInput- Overrides:
readin classAltingChannelInputWrapper- Returns:
- the object read.
-
addReadFilter
Description copied from interface:ReadFilteredInstalls a read filter defining a transformation to be applied by thereadmethod 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:ReadFilteredInstalls a read filter defining a transformation to be applied by thereadmethod 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:ReadFilteredRemoves 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:ReadFilteredRemoves 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:ReadFilteredReturns 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:ReadFilteredReturns the number of read filters currently installed.- See Also:
-
destroyReader
public void destroyReader()Description copied from interface:NetChannelInputDestroys the channel end and frees any resources within the JCSP.NET infrastructure.
- See Also:
-
getFactoryClass
-
prepareToMove
public void prepareToMove()Description copied from interface:MigratableChannelInputPrepares the channel end for movement to another node.- See Also:
-
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:
IOExceptionClassNotFoundException
-