C# Class Akka.Remote.ReliableDeliverySupervisor

INTERNAL API [Aaronontheweb] so this class is responsible for maintaining a buffer of retriable messages in Akka and it expects an ACK / NACK response pattern before it considers a message to be sent or received. Currently AkkaDotNet does not have any form of guaranteed message delivery in the stack, since that was considered outside the scope of V1. However, this class needs to be revisited and updated to support it, along with others. For the time being, the class remains just a proxy for spawning EndpointWriter actors and forming any outbound associations.
Inheritance: Akka.Actor.UntypedActor
Show file Open project: rogeralsing/akka.net

Public Methods

Method Description
ReliableDeliverySupervisor ( AkkaProtocolHandle handleOrActive, Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress, int refuseUid, Akka.Remote.Transport.AkkaProtocolTransport transport, Akka.Remote.RemoteSettings settings, AkkaPduCodec codec, EndpointManager.ResendState>.ConcurrentDictionary receiveBuffers ) : System
ReliableDeliverySupervisorProps ( AkkaProtocolHandle handleOrActive, Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress, int refuseUid, Akka.Remote.Transport.AkkaProtocolTransport transport, Akka.Remote.RemoteSettings settings, AkkaPduCodec codec, EndpointManager.ResendState>.ConcurrentDictionary receiveBuffers, string dispatcher ) : Props

Protected Methods

Method Description
FlushWait ( ) : void
Gated ( bool writerTerminated, bool earlyUngateRequested ) : void
IdleBehavior ( ) : void
PostRestart ( Exception reason ) : void
PostStop ( ) : void
Receiving ( ) : void
SupervisorStrategy ( ) : Akka.Actor.SupervisorStrategy

Private Methods

Method Description
CreateWriter ( ) : IActorRef
GoToActive ( ) : void
GoToIdle ( ) : void
HandleSend ( EndpointManager send ) : void
HandleTooLongIdle ( ) : void
NextSeq ( ) : SeqNo
ResendAll ( ) : void
ResendNacked ( ) : void
Reset ( ) : void
TryBuffer ( EndpointManager s ) : void

Method Details

FlushWait() protected method

protected FlushWait ( ) : void
return void

Gated() protected method

protected Gated ( bool writerTerminated, bool earlyUngateRequested ) : void
writerTerminated bool
earlyUngateRequested bool
return void

IdleBehavior() protected method

protected IdleBehavior ( ) : void
return void

PostRestart() protected method

protected PostRestart ( Exception reason ) : void
reason System.Exception
return void

PostStop() protected method

protected PostStop ( ) : void
return void

Receiving() protected method

protected Receiving ( ) : void
return void

ReliableDeliverySupervisor() public method

public ReliableDeliverySupervisor ( AkkaProtocolHandle handleOrActive, Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress, int refuseUid, Akka.Remote.Transport.AkkaProtocolTransport transport, Akka.Remote.RemoteSettings settings, AkkaPduCodec codec, EndpointManager.ResendState>.ConcurrentDictionary receiveBuffers ) : System
handleOrActive AkkaProtocolHandle
localAddress Akka.Actor.Address
remoteAddress Akka.Actor.Address
refuseUid int
transport Akka.Remote.Transport.AkkaProtocolTransport
settings Akka.Remote.RemoteSettings
codec Akka.Remote.Transport.AkkaPduCodec
receiveBuffers EndpointManager.ResendState>.ConcurrentDictionary
return System

ReliableDeliverySupervisorProps() public static method

public static ReliableDeliverySupervisorProps ( AkkaProtocolHandle handleOrActive, Akka.Actor.Address localAddress, Akka.Actor.Address remoteAddress, int refuseUid, Akka.Remote.Transport.AkkaProtocolTransport transport, Akka.Remote.RemoteSettings settings, AkkaPduCodec codec, EndpointManager.ResendState>.ConcurrentDictionary receiveBuffers, string dispatcher ) : Props
handleOrActive AkkaProtocolHandle
localAddress Akka.Actor.Address
remoteAddress Akka.Actor.Address
refuseUid int
transport Akka.Remote.Transport.AkkaProtocolTransport
settings Akka.Remote.RemoteSettings
codec Akka.Remote.Transport.AkkaPduCodec
receiveBuffers EndpointManager.ResendState>.ConcurrentDictionary
dispatcher string
return Props

SupervisorStrategy() protected method

protected SupervisorStrategy ( ) : Akka.Actor.SupervisorStrategy
return Akka.Actor.SupervisorStrategy