Event

object Event
Companion
class
class Object
trait Matchable
class Any

Type members

Classlikes

trait Node[T <: Txn[T]] extends Elem[T] with Mutable[T]

XXX TODO -- this documentation is outdated.

XXX TODO -- this documentation is outdated.

An Event.Node is most similar to EScala's EventNode class. It represents an observable object and can also act as an observer itself. It adds the Reactor functionality in the form of a proxy, forwarding to internally stored Targets. It also provides a final implementation of the Writable and Disposable traits, asking sub classes to provide methods writeData and disposeData. That way it is ensured that the sealed Reactor trait is written first as the Targets stub, providing a means for partial deserialization during the push phase of event propagation.

This trait also implements equals and hashCode in terms of the id inherited from the targets.

object Targets
Companion
class
sealed
trait Targets[T <: Txn[T]] extends Mutable[T]

An abstract trait unifying invariant and mutating targets. This object is responsible for keeping track of the dependents of an event source which is defined as the outer object, sharing the same id as its targets. As a Reactor, it has a method to propagate a fired event.

An abstract trait unifying invariant and mutating targets. This object is responsible for keeping track of the dependents of an event source which is defined as the outer object, sharing the same id as its targets. As a Reactor, it has a method to propagate a fired event.

Companion
object

Implicits

Implicits

implicit
def format[T <: Txn[LazyRef(...)]]: TFormat[T, Event[T, Any]]