trait Sending extends Sender
Defines the behavior for a protocol that provides the sending of messages as capability.
The trait is used to complement the functionality of an instance of ProtocolImpl by declaring that the instance is capable to send a message through the network. Thus, it is usually used together with Receiving. For instance,
class FIFOChannel (p: NekoProcess, nickname: String) extends ProtocolImpl(p, nickname) with Sending with Receiving { def onSend = { case ... } }
There are cases where this trait could be used without Receiving, for instance, by a protocol that would only record what it is sent to, without sending anything through the actual network. This is however a very rare situation, and can safely be ignored as far as the lecture I445 is concerned.
- Alphabetic
- By Inheritance
- Sending
- Sender
- NamedEntity
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        name: String
      
      
      - Definition Classes
- NamedEntity
 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        onSend: PartialFunction[Event, Unit]
      
      
      Implements the behavior of the protocol when sending a message. Implements the behavior of the protocol when sending a message. This must be defined in any concrete subclass. It is defined as a partial function taking a message as input and returning nothing. Typically, the partial function will implement different behavior depending on the type of message being sent. For instance, def onSend = { case MutexClient.Request => want = true ; myTS = lc.time SEND(Request(me, ALL-me, myTS)) case MutexClient.Release => SEND(Ack(me, pendingAcks)) ackCount = 0 ; want = false ; pendingAcks = Set.empty } 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        receiver: Receiver
      
      
      the target of any deliver operations. the target of any deliver operations. Typically, this is the dispatcher of the process. 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        senderOpt: Option[Sender]
      
      
      - Definition Classes
- NamedEntity
 
Concrete Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
-  def +(other: String): String
-  def ->[B](y: B): (Sending, B)
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        DELIVER(m: Event): Unit
      
      
      provides the message or signal to the application. provides the message or signal to the application. The message or signal passed as argument will be delivered to any protocol that has registered (e.g., using the method ListenerUtils!.listenTo) for this type of message/signal to the dispatcher providing in receiver. - m
- the message or signal to deliver 
 - Attributes
- protected[this]
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        context: Option[PID]
      
      
      - Definition Classes
- NamedEntity
 
-  def ensuring(cond: (Sending) ⇒ Boolean, msg: ⇒ Any): Sending
-  def ensuring(cond: (Sending) ⇒ Boolean): Sending
-  def ensuring(cond: Boolean, msg: ⇒ Any): Sending
-  def ensuring(cond: Boolean): Sending
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
-  def formatted(fmtstr: String): String
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        send(m: Event): Unit
      
      
      Used to request the protocol to send a given message. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        simpleName: String
      
      
      - Definition Classes
- NamedEntity
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
-  def →[B](y: B): (Sending, B)