Class

lchannels

Out

Related Doc: package lchannels

Permalink

abstract class Out[-T] extends Channel[Send]

Base abstract class for output channel endpoints.

Linear Supertypes
Channel[Send], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Out
  2. Channel
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Out()

    Permalink

Abstract Value Members

  1. abstract def create[U](): (In[U], Out[U])

    Permalink

    Return a pair of input/output linear channel endpoints

  2. abstract def send(msg: T): Unit

    Permalink

    Send a message.

    Send a message.

    msg

    Message to be sent

    Exceptions thrown

    AlreadyUsed if the channel endpoint was already used for output

Concrete Value Members

  1. def !(msg: T): Unit

    Permalink

    Alias for send.

  2. def !![U](f: (Out[U]) ⇒ T): In[U]

    Permalink

    Create a pair of U-typed channel endpoints (i,o), send the return value of f(o), and return i.

    Create a pair of U-typed channel endpoints (i,o), send the return value of f(o), and return i.

    This method automates channel creation in continuation-passing-style protocols, when the output endpoint must be sent as part of a T-typed message (as returned by f(i)), and the input endpoint is later used to continue the interaction.

    f

    Function that, when applied to an output channel endpoint, returns the message to be sent.

  3. def !![U](f: (In[U]) ⇒ T): Out[U]

    Permalink

    Create a pair of U-typed channel endpoints (i,o), send the return value of f(i), and return o.

    Create a pair of U-typed channel endpoints (i,o), send the return value of f(i), and return o.

    This method automates channel creation in continuation-passing-style protocols, when the input endpoint must be sent as part of a T-typed message (as returned by f(i)), and the output endpoint is later used to continue the interaction.

    f

    Function that, when applied to an input channel endpoint, returns the message to be sent.

  4. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def createContIn[U](): (In[U], Out[U])

    Permalink

    Return a pair of input/output linear channel endpoints, with the input one meant to be used to receive a value, and the output meant to be sent as continuation within a session.

    Return a pair of input/output linear channel endpoints, with the input one meant to be used to receive a value, and the output meant to be sent as continuation within a session.

    This method is mainly used internally, e.g. by !!. The main difference wrt. create is that the returned channel endpoints might be optimized for the use described above; as a consequence, their behavior is undefined for other uses (e.g., if the input endpoint is sent as continuation in a session).

    The default implementation is an alias for create[U]()*. Only use and/or override this method if you really know what you are doing.

  10. def createContOut[U](): (In[U], Out[U])

    Permalink

    Return a pair of input/output linear channel endpoints, with the input one meant to be sent as continuation within session, and the output meant to be used to send a value.

    Return a pair of input/output linear channel endpoints, with the input one meant to be sent as continuation within session, and the output meant to be used to send a value.

    This method is the "dual" of createContIn, and similar remarks hold.

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def markAsUsed(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Channel
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def promise[U <: T]: Promise[U]

    Permalink

    Return a promise that, once completed with a value v, causes v to be sent along this channel endpoint.

  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Channel[Send]

Inherited from AnyRef

Inherited from Any

Ungrouped