scala.concurrent.pilib
class Chan

[source: `scala/concurrent/pilib.scala`]

`` `class` Chan[A]
  `extends` UChan `with` (A) => Product[A]

  Name on which one can emit, receive or that can be emitted or received during a communication.

Value Summary
`var` | defaultValue : A

Values and Variables inherited from UChan
log

Method Summary
`def` | * [B](f : (A) => B) : GP[B] Syntactic sugar for input.
`def` | apply (v : A) : Product[A] Syntactic sugar for output.
`def` | attach (f : (A) => Unit) : Unit Attach a function to be evaluated at each communication event on this channel. Replace previous attached function.
`def` | input [B](c : (A) => B) : GP[B] Creates an input guarded process.
`def` | output [B](v : A, c : () => B) : GP[B] Creates an input guarded process.
`def` | read : A Blocking read.
`def` | write (x : A) : Unit Blocking write.

Methods inherited from Function1
toString, compose, andThen

Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Value Details

`` `var` defaultValue : A

Method Details

`` `def` input[B](c : (A) => B) : GP[B]

  Creates an input guarded process.

`` `def` output[B](v : A, c : () => B) : GP[B]

  Creates an input guarded process.

`` `def` read : A

  Blocking read.

`` `def` write(x : A) : Unit

  Blocking write.

`` `def` *[B](f : (A) => B) : GP[B]

  Syntactic sugar for input.

`` `def` apply(v : A) : Product[A]

  Syntactic sugar for output.

Overrides
  Function1.apply

`` `def` attach(f : (A) => Unit) : Unit

  Attach a function to be evaluated at each communication event on this channel. Replace previous attached function.