Class

arteria.core

MessageChannel

Related Doc: package core

Permalink

class MessageChannel[P <: Protocol] extends MessageChannelBase

MessageChannel provides a communication channel with two end-points and allows sending and receiving messages in both directions.

P

Protocol type

Linear Supertypes
MessageChannelBase, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MessageChannel
  2. MessageChannelBase
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MessageChannel(protocol: P)(id: Int, globalId: Int, parent: MessageChannelBase, handler: MessageChannelHandler[P], context: P.ChannelContext)

    Permalink

    protocol

    Protocol implementation for this channel

    id

    Channel identifier

    parent

    Parent channel

    handler

    Handler for channel related activity like processing incoming messages

    context

    Context for this instance of the channel

Value Members

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

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

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

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

    Permalink
    Definition Classes
    Any
  5. def channelClosed(channelId: Int): Unit

    Permalink

    Called when a child channel is closed.

    Called when a child channel is closed.

    channelId

    Channel identifier

    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelMessageChannelBase
  6. val channelIdx: AtomicInteger

    Permalink
    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelBase
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def close(): Unit

    Permalink

    Close this channel

    Close this channel

    Definition Classes
    MessageChannelMessageChannelBase
  9. def closeChannel(channel: MessageChannelBase): Unit

    Permalink

    Close a previously created child channel.

    Close a previously created child channel.

    channel

    The channel to be closed

    Definition Classes
    MessageChannelBase
  10. val context: P.ChannelContext

    Permalink

    Context for this instance of the channel

  11. def createChannel[MaterializeChild, CP <: Protocol](protocol: CP)(handler: MessageChannelHandler[CP], context: createChannel.CP.ChannelContext, materializeChild: MaterializeChild)(implicit materializeChildPickler: Pickler[MaterializeChild]): MessageChannel[CP]

    Permalink

    Creates a new child channel with the given protocol and parameters

    Creates a new child channel with the given protocol and parameters

    CP

    Protocol type

    protocol

    Protocol for the new child channel

    handler

    Handler for the channel

    context

    Context to be passed to the channel

    materializeChild

    Metadata that is used to materialize the channel at the other end

    returns

    Newly created channel

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def established(): Unit

    Permalink

    Called when the other side has established the channel.

    Called when the other side has established the channel.

    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelMessageChannelBase
  15. def establishing(): Unit

    Permalink

    Called when channel is being established

    Called when channel is being established

    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelMessageChannelBase
  16. def finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  18. val globalId: Int

    Permalink
    Definition Classes
    MessageChannelMessageChannelBase
  19. val handler: MessageChannelHandler[P]

    Permalink

    Handler for channel related activity like processing incoming messages

  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. val id: Int

    Permalink

    Channel identifier

    Channel identifier

    Definition Classes
    MessageChannelMessageChannelBase
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def materializeChildChannel(channelId: Int, globalId: Int, channelReader: ChannelReader): MessageChannelBase

    Permalink

    Materializes a new child channel by reading metadata from the stream and passing it to the handler.

    Materializes a new child channel by reading metadata from the stream and passing it to the handler.

    channelId

    Channel identifier

    channelReader

    Reader for accessing the data stream

    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelMessageChannelBase
  24. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  27. val parent: MessageChannelBase

    Permalink

    Parent channel

    Parent channel

    Definition Classes
    MessageChannelMessageChannelBase
  28. val protocol: P

    Permalink

    Protocol implementation for this channel

  29. def receive(channelReader: ChannelReader): Unit

    Permalink

    Receive and process a message.

    Receive and process a message.

    channelReader

    Reader for accessing pickled message data

    Definition Classes
    MessageChannelMessageChannelBase
  30. def receiveDrop(channelReader: ChannelReader): Unit

    Permalink

    Receives and drops a message

    Receives and drops a message

    channelReader

    Reader for accessing pickled message data

    Definition Classes
    MessageChannelMessageChannelBase
  31. lazy val router: MessageRouterBase

    Permalink
    Definition Classes
    MessageChannelBase
  32. def send[A <: Message](message: A)(implicit ev: MessageWitness[A, P]): Unit

    Permalink

    Sends a message on this channel.

    Sends a message on this channel. Message type is checked using an implicit MessageWitness.

    A

    Type of the message

    message

    Message to send

    ev

    Provides evidence that message is valid for the protocol P

  33. var subChannels: IntMap[MessageChannelBase]

    Permalink
    Attributes
    protected[arteria.core]
    Definition Classes
    MessageChannelBase
  34. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from MessageChannelBase

Inherited from AnyRef

Inherited from Any

Ungrouped