Package org.jcsp.net

Class Any2NetChannel

java.lang.Object
org.jcsp.net.Any2NetChannel
All Implemented Interfaces:
Serializable, ChannelOutput, Poisonable, SharedChannelOutput, NetChannelOutput, NetSharedChannelOutput, Networked

class Any2NetChannel extends Object implements NetSharedChannelOutput, Serializable
A channel for network output (TX). This is a "Any2Net" channel, which can be safely used by multiple writers.

Note that this is merely a thread-safe wrapper around One2NetChannel

See Also:
  • Field Details

  • Constructor Details

    • Any2NetChannel

      public Any2NetChannel(NetChannelLocation channelLocation)
      Equivalent to the (NetChannelLocation) constructor of One2NetChannel.
      See Also:
    • Any2NetChannel

      public Any2NetChannel(NetChannelLocation channelLocation, boolean acknowledged)
      Equivalent to the (NetChannelLocation, boolean) constructor of One2NetChannel.
      See Also:
    • Any2NetChannel

      public Any2NetChannel(NetChannelLocation channelLocation, Profile linkProfile)
      Equivalent to the (NetChannelLocation, Profile) constructor of One2NetChannel.
      See Also:
    • Any2NetChannel

      public Any2NetChannel(NetChannelLocation channelLocation, boolean acknowledged, Profile linkProfile)
      Equivalent to the (NetChannelLocation, boolean, Profile) constructor of One2NetChannel.
      See Also:
  • Method Details

    • write

      public void write(Object data)
      Output data to this channel. The data must be Serializable.

      Note that this is merely a thread-safe wrapper around One2NetChannel.write(Object) - see that method for full documentation.

      Specified by:
      write in interface ChannelOutput
      Parameters:
      data - The data to send over the channel. The object should implement the Serializable interface in order to be sent over a network.
    • getChannelLocation

      public NetChannelLocation getChannelLocation()
      Public accessor for obtaining the location of the read end of this channel.
      Specified by:
      getChannelLocation in interface Networked
      Returns:
      a NetChannelLocation object containing information needed to connect to
    • recreate

      public void recreate()
      Requests that the channel recreates itself and reconnects to the other end of the channel.
      Specified by:
      recreate in interface NetChannelOutput
    • recreate

      public void recreate(NetChannelLocation loc)
      Requests that the channel recreates itself and reconnects to the other end of the channel. A new reader location must be supplied.
      Specified by:
      recreate in interface NetChannelOutput
      Parameters:
      loc - the new location of the reader.
    • destroyWriter

      public void destroyWriter()
      Destroys the write end of a channel and frees any resources used within the JCSP networking infrastructure.
      Specified by:
      destroyWriter in interface NetChannelOutput
    • getFactoryClass

      public Class getFactoryClass()
      Description copied from interface: NetChannelOutput

      Returns the factory class used for constructing this channel end object.

      Specified by:
      getFactoryClass in interface NetChannelOutput
      Returns:
      the Class of the
    • poison

      public void poison(int strength)
      Currently, network channels are unpoisonable so this method has no effect.
      Specified by:
      poison in interface Poisonable
      Parameters:
      strength - the strength of the poison (must be >= 0).