Package org.jcsp.lang

Class AltingChannelInputWrapper<T>

  • All Implemented Interfaces:
    ChannelInput<T>, Poisonable
    Direct Known Subclasses:
    FilteredAltingChannelInput, NetAltingChannelInput, NetAltingChannelInput

    public class AltingChannelInputWrapper<T>
    extends AltingChannelInput<T>
    Deprecated.
    There is no longer any need to use this class, after the 1.1 class reorganisation. Note that usually you do not need the absolute guarantee that this class provides - you can usually just cast the channel to an AltingChannelInput, which prevents you from accidentally writing to the channel. This class mainly exists for use by some of the org.jcsp.net classes, where the absolute guarantee that you cannot write to it is important.
    This class wraps an ALTable channel so that only the reading part is available to the caller. Writes are impossible unless you subclass this (and use getChannel()) or keep a reference to the original channel.

    See Also:
    AltingChannelInput
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private AltingChannelInput<T> channel
      Deprecated.
      The real channel which this object wraps.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      (package private) boolean disable()
      Deprecated.
      Disables the guard for selection.
      (package private) boolean enable​(Alternative alt)
      Deprecated.
      Returns true if the event is ready.
      void endRead()
      Deprecated.
      Ends an extended rendezvous
      protected AltingChannelInput getChannel()
      Deprecated.
      Get the real channel.
      boolean pending()
      Deprecated.
      Returns whether there is data pending on this channel.
      void poison​(int strength)
      Deprecated.
      This injects poison into the channel.
      T read()
      Deprecated.
      Read an Object from the channel.
      protected void setChannel​(AltingChannelInput<T> chan)
      Deprecated.
      Sets the real channel to be used.
      T startRead()
      Deprecated.
      Begins an extended rendezvous
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • channel

        private AltingChannelInput<T> channel
        Deprecated.
        The real channel which this object wraps. This used to be a final field but this caused problems when sub-classes wanted to be serializable. Added a protected mutator.
    • Constructor Detail

      • AltingChannelInputWrapper

        public AltingChannelInputWrapper​(AltingChannelInput<T> channel)
        Deprecated.
        Creates a new AltingChannelInputWrapper which wraps the specified channel.
      • AltingChannelInputWrapper

        protected AltingChannelInputWrapper()
        Deprecated.
        This constructor does not wrap a channel. The underlying channel can be set by calling setChannel(AltingChannelInput).
    • Method Detail

      • getChannel

        protected AltingChannelInput getChannel()
        Deprecated.
        Get the real channel.
        Returns:
        The real channel.
      • setChannel

        protected void setChannel​(AltingChannelInput<T> chan)
        Deprecated.
        Sets the real channel to be used.
        Parameters:
        chan - the real channel to be used.
      • read

        public T read()
        Deprecated.
        Read an Object from the channel.
        Returns:
        the object read from the channel
      • startRead

        public T startRead()
        Deprecated.
        Begins an extended rendezvous
        Returns:
        The object read from the channel
        See Also:
        ChannelInput.startRead
      • endRead

        public void endRead()
        Deprecated.
        Ends an extended rendezvous
        See Also:
        ChannelInput.endRead
      • pending

        public boolean pending()
        Deprecated.
        Returns whether there is data pending on this channel.

        Note: if there is, it won't go away until you read it. But if there isn't, there may be some by the time you check the result of this method.

        Specified by:
        pending in class AltingChannelInput<T>
        Returns:
        state of the channel.
      • enable

        boolean enable​(Alternative alt)
        Deprecated.
        Returns true if the event is ready. Otherwise, this enables the guard for selection and returns false.

        Note: this method should only be called by the Alternative class

        Specified by:
        enable in class Guard
        Parameters:
        alt - the Alternative class that is controlling the selection
        Returns:
        true if and only if the event is ready
      • disable

        boolean disable()
        Deprecated.
        Disables the guard for selection. Returns true if the event was ready.

        Note: this method should only be called by the Alternative class

        Specified by:
        disable in class Guard
        Returns:
        true if and only if the event was ready
      • poison

        public void poison​(int strength)
        Deprecated.
        Description copied from interface: Poisonable
        This injects poison into the channel. If the channel was not explicitly constructed to be poisonable or if the strength of poison is not greater than the channel immunity level, the poison will have no effect.
        Parameters:
        strength - the strength of the poison (must be >= 0).