diff --git a/.gitignore b/.gitignore index 40ce13d..4e4120b 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ +[Ll]ogs/ # Visual Studio 2015 cache/options directory .vs/ diff --git a/Version.props b/Version.props index 5a8b28b..a8c2e1f 100644 --- a/Version.props +++ b/Version.props @@ -7,13 +7,13 @@ ======================================================================================= --> - 0 - 1 + 1 + 0 0 - 13 - 0.1.0 - 0.1.0+13.181221182711.master.0fa97cc - 0fa97cc + 23 + 1.0.0 + 1.0.0+23.181230112254.master.22cccb7 + 22cccb7 master \ No newline at end of file diff --git a/build/custom/Build.props.debug b/build/custom/Build.props.debug index 8b0dafe..55c33f0 100644 --- a/build/custom/Build.props.debug +++ b/build/custom/Build.props.debug @@ -7,7 +7,7 @@ ======================================================================================= --> - + true diff --git a/changelog.md b/changelog.md index 2553da1..e714d2a 100644 --- a/changelog.md +++ b/changelog.md @@ -3,8 +3,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [1.0.0] - 2018-12-30 ## +### Changed ### +- Updated Commons to latest version +- Removed dependency to ProxyFoo (not needed with latest Commons) + +### Fixed ### +- Small fixes in documentation + ## [0.1.0] - 2018-12-21 ## ### Added ### - Initial release +[1.0.0]: https://github.com/adamecr/Common.Actor/compare/v0.1.0...v1.0.0 [0.1.0]: https://github.com/adamecr/Common.Actor/releases/tag/v0.1.0 \ No newline at end of file diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.html b/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.html new file mode 100644 index 0000000..53bdf13 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.html @@ -0,0 +1,279 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.actor.exchanges.@base Namespace

+

Classes

+ + + + + +
NameModifierSummary
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>public abstractExchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.
SubscriptionpublicBase exchange actor subscription
SubscriptionMessagepublicBase exchange actor subscription messages
UnSubscriptionMessagepublicBase exchange actor un-subscription message
+

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage> Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.

+
public abstract class ExchangeActor<TSubscription, TSubscriptionMessage, TUnSubscriptionMessage> : Actor
+ where TSubscription: Subscription
+ where TSubscriptionMessage: SubscriptionMessage
+ where TUnSubscriptionMessage: UnSubscriptionMessage
+Type parameters
TSubscription
Type of the subscription
TSubscriptionMessage
Type of the subscription message
TUnSubscriptionMessage
Type of the unSubscription message
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor
+Derived: net.adamec.lib.common.actor.actor.exchanges.single.SingleExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.TypedMultiExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.TypedSingleExchangeActor
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Properties

+ + +
NameModifierSummary
SubscriptionsprotectedList of subscriptions
+

+

Constructors

+ + +
NameModifierSummary
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string)protectedCTOR
+

+

Methods

+ + + + + + + + + + + +
NameModifierSummary
DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription)protectedDistributes the message according to single subscription
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope
IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor)
Receive(Envelope)protectedMessage handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers
ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protectedChecks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled).
Start()publicStarts the exchange actor
Stop()publicStops the exchange actor
Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protectedProcesses the subscription message It first checks, whether the new subscription replaces any existing subscription by calling ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) . If the returned list is not empty, the replaces subscriptions are removed from the Subscriptions list. The SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) is called to create the new instance of subscription and the subscription is added to the Subscriptions list.
SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protected abstractCreates a new subscription instance based on the subscriptionMessage
UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)protectedProcesses the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from Subscriptions list.
+

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscriptions Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

List of subscriptions

+
protected List<TSubscription> Subscriptions { get; }
+

Property value

List<TSubscription>

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

CTOR

+
protected ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Distributes the message according to single subscription

+
protected virtual void DistributeMessage(Envelope envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Subscriptions matching the message
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Returns the list of subscriptions that match the incoming envelope

+
protected virtual ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[] GetSubscriptionsForMessage(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of subscriptions that match the incoming envelope

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor)

+
protected virtual bool IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Receive(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers

+
protected override bool Receive(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
+

Return value

bool
True if the messages has been handled, otherwise false
Overrides: Actor.Receive(Envelope)

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled).

+
protected virtual ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[] ReplaceOnSubscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of existing subscriptions to be removed from the Subscriptions list

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Start() Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Starts the exchange actor

+
public virtual void Start()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Stop() Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Stops the exchange actor

+
public virtual void Stop()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) . If the returned list is not empty, the replaces subscriptions are removed from the Subscriptions list. The SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) is called to create the new instance of subscription and the subscription is added to the Subscriptions list.

+
protected virtual void Subscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Creates a new subscription instance based on the subscriptionMessage

+
protected abstract ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription SubscriptionFactory(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription
Subscription instance

+

Go to namespaces or types or source-only packages

+

+

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Sources: actor\exchanges\base\ExchangeActor.cs

+

Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from Subscriptions list.

+
protected virtual void UnSubscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to unsubscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Subscription Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\base\Subscription.cs

+

Base exchange actor subscription

+
public class Subscription
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
+

+

Properties

+ + +
NameModifierSummary
ActorRefpublicReference to subscribed actor
+

+

Constructors

+ + +
NameModifierSummary
Subscription(IActorRef)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

Subscription.ActorRef Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: Subscription
+Sources: actor\exchanges\base\Subscription.cs

+

Reference to subscribed actor

+
public IActorRef ActorRef { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

Subscription.Subscription(IActorRef) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Type: Subscription
+Sources: actor\exchanges\base\Subscription.cs

+

CTOR

+
public Subscription(IActorRef actorRef)
+Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
+

Go to namespaces or types or source-only packages

+

+

SubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\base\SubscriptionMessage.cs

+

Base exchange actor subscription messages

+
public class SubscriptionMessage
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+

UnSubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\base\SubscriptionMessage.cs

+

Base exchange actor un-subscription message

+
public class UnSubscriptionMessage
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md b/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md new file mode 100644 index 0000000..03e7630 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md @@ -0,0 +1,519 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.actor.exchanges.@base Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) | public abstract | Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. | + | [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) | public | Base exchange actor subscription | + | [SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) | public | Base exchange actor subscription messages | + | [UnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) | public | Base exchange actor un-subscription message | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage> Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\base\ExchangeActor.cs + + +Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. + + + +```csharp +public abstract class ExchangeActor : Actor + where TSubscription: Subscription + where TSubscriptionMessage: SubscriptionMessage + where TUnSubscriptionMessage: UnSubscriptionMessage +``` + +Type parameters
TSubscription
Type of the subscription
TSubscriptionMessage
Type of the subscription message
TUnSubscriptionMessage
Type of the unSubscription message
+Inheritance:
object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Derived: [net.adamec.lib.common.actor.actor.exchanges.single.SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y), [net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7), [net.adamec.lib.common.actor.actor.exchanges.typed.TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat), [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) | protected | List of subscriptions | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___x732m3) | protected | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.distributemessage_net.adamec.lib.common.actor.message.envelope--0___10o2gwi) | protected | Distributes the message according to single subscription | + | [GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1lba1kc) | protected | Returns the list of subscriptions that match the incoming envelope | + | [IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.isunsubscribematch_-0--2___87gny2) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) | + | [Receive(Envelope)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.receive_net.adamec.lib.common.actor.message.envelope___k7qhyb) | protected | Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers | + | [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) | protected | Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled). | + | [Start()](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.start__1sb73cd) | public | Starts the exchange actor | + | [Stop()](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.stop__1wazv35) | public | Stops the exchange actor | + | [Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscribe_net.adamec.lib.common.actor.actor.iactorref--1___ajhl0) | protected | Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) . If the returned list is not empty, the replaces subscriptions are removed from the [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. The [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) is called to create the new instance of subscription and the subscription is added to the [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. | + | [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) | protected abstract | Creates a new subscription instance based on the subscriptionMessage | + | [UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.unsubscribe_net.adamec.lib.common.actor.actor.iactorref--2___198es5m) | protected | Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscriptions Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +List of subscriptions + + + +```csharp +protected List Subscriptions { get; } +``` + +Property value
List<TSubscription>
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +CTOR + + + +```csharp +protected ExchangeActor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Distributes the message according to single subscription + + + +```csharp +protected virtual void DistributeMessage(Envelope envelope, ExchangeActor.TSubscription subscription) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Subscriptions matching the message
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Returns the list of subscriptions that match the incoming envelope + + + +```csharp +protected virtual ExchangeActor.TSubscription[] GetSubscriptionsForMessage(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
+Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of subscriptions that match the incoming envelope
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) + + + +```csharp +protected virtual bool IsUnSubscribeMatch(ExchangeActor.TSubscription subscription, ExchangeActor.TUnSubscriptionMessage unSubscriptionMessage) +``` + +Method parameters
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Receive(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers + + + +```csharp +protected override bool Receive(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
+Return value
bool
True if the messages has been handled, otherwise false
Overrides: [Actor.Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled). + + + +```csharp +protected virtual ExchangeActor.TSubscription[] ReplaceOnSubscribe(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of existing subscriptions to be removed from the [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Start() Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Starts the exchange actor + + + +```csharp +public virtual void Start() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Stop() Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Stops the exchange actor + + + +```csharp +public virtual void Stop() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) . If the returned list is not empty, the replaces subscriptions are removed from the [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. The [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) is called to create the new instance of subscription and the subscription is added to the [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. + + + +```csharp +protected virtual void Subscribe(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Creates a new subscription instance based on the subscriptionMessage + + + +```csharp +protected abstract ExchangeActor.TSubscription SubscriptionFactory(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
+Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription
Subscription instance
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Sources: actor\exchanges\base\ExchangeActor.cs + + +Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from [Subscriptions](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. + + + +```csharp +protected virtual void UnSubscribe(IActorRef actorRef, ExchangeActor.TUnSubscriptionMessage unSubscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to unsubscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Subscription Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\base\Subscription.cs + + +Base exchange actor subscription + + + +```csharp +public class Subscription +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorRef](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#p-net.adamec.lib.common.actor.actor.exchanges.base.subscription.actorref__4ba6je) | public | Reference to subscribed actor | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Subscription(IActorRef)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.subscription.-ctor_net.adamec.lib.common.actor.actor.iactorref___1vbtza6) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Subscription.ActorRef Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) +Sources: actor\exchanges\base\Subscription.cs + + +Reference to subscribed actor + + + +```csharp +public IActorRef ActorRef { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Subscription.Subscription(IActorRef) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Type: [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) +Sources: actor\exchanges\base\Subscription.cs + + +CTOR + + + +```csharp +public Subscription(IActorRef actorRef) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\base\SubscriptionMessage.cs + + +Base exchange actor subscription messages + + + +```csharp +public class SubscriptionMessage +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## UnSubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\base\SubscriptionMessage.cs + + +Base exchange actor un-subscription message + + + +```csharp +public class UnSubscriptionMessage +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.html b/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.html new file mode 100644 index 0000000..c5f357f --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.html @@ -0,0 +1,99 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.actor.exchanges.single Namespace

+

Classes

+ + +
NameModifierSummary
SingleExchangeActorpublicExchange Actor with zero or one subscriber
+

+

Go to namespaces or types or source-only packages

+

+

SingleExchangeActor Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\single\SingleExchangeActor.cs

+

Exchange Actor with zero or one subscriber

+
public class SingleExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Constructors

+ + +
NameModifierSummary
SingleExchangeActor(IActorSystem, string)publicCTOR
+

+

Methods

+ + + +
NameModifierSummary
ReplaceOnSubscribe(IActorRef, SubscriptionMessage)protectedRemoves all existing subscription when a new subscription message arrives.
SubscriptionFactory(IActorRef, SubscriptionMessage)protectedCreates a new Subscription instance for incoming subscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+

SingleExchangeActor.SingleExchangeActor(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
+Assembly: net.adamec.lib.common.actor
+Type: SingleExchangeActor
+Sources: actor\exchanges\single\SingleExchangeActor.cs

+

CTOR

+
public SingleExchangeActor(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
+

Go to namespaces or types or source-only packages

+

+

SingleExchangeActor.ReplaceOnSubscribe(IActorRef, SubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
+Assembly: net.adamec.lib.common.actor
+Type: SingleExchangeActor
+Sources: actor\exchanges\single\SingleExchangeActor.cs

+

Removes all existing subscription when a new subscription message arrives.

+
protected override Subscription[] ReplaceOnSubscribe(IActorRef actorRef, SubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.Subscription[]
List of all existing subscriptions
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

SingleExchangeActor.SubscriptionFactory(IActorRef, SubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
+Assembly: net.adamec.lib.common.actor
+Type: SingleExchangeActor
+Sources: actor\exchanges\single\SingleExchangeActor.cs

+

Creates a new Subscription instance for incoming subscriptionMessage

+
protected override Subscription SubscriptionFactory(IActorRef actorRef, SubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.Subscription
Subscription instance
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md b/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md new file mode 100644 index 0000000..3093e4b --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md @@ -0,0 +1,133 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.actor.exchanges.single Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) | public | Exchange Actor with zero or one subscriber | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SingleExchangeActor Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\single\SingleExchangeActor.cs + + +Exchange Actor with zero or one subscriber + + + +```csharp +public class SingleExchangeActor : ExchangeActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [SingleExchangeActor(IActorSystem, string)](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1090o6d) | public | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ReplaceOnSubscribe(IActorRef, SubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage___1t22f9h) | protected | Removes all existing subscription when a new subscription message arrives. | + | [SubscriptionFactory(IActorRef, SubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage___kht5cf) | protected | Creates a new [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) instance for incoming subscriptionMessage | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SingleExchangeActor.SingleExchangeActor(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) +Assembly: net.adamec.lib.common.actor +Type: [SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) +Sources: actor\exchanges\single\SingleExchangeActor.cs + + +CTOR + + + +```csharp +public SingleExchangeActor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SingleExchangeActor.ReplaceOnSubscribe(IActorRef, SubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) +Assembly: net.adamec.lib.common.actor +Type: [SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) +Sources: actor\exchanges\single\SingleExchangeActor.cs + + +Removes all existing subscription when a new subscription message arrives. + + + +```csharp +protected override Subscription[] ReplaceOnSubscribe(IActorRef actorRef, SubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.@base.Subscription[]](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm)
List of all existing subscriptions
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SingleExchangeActor.SubscriptionFactory(IActorRef, SubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) +Assembly: net.adamec.lib.common.actor +Type: [SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) +Sources: actor\exchanges\single\SingleExchangeActor.cs + + +Creates a new [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) instance for incoming subscriptionMessage + + + +```csharp +protected override Subscription SubscriptionFactory(IActorRef actorRef, SubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm)
Subscription instance
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.html b/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.html new file mode 100644 index 0000000..64b926e --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.html @@ -0,0 +1,540 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.actor.exchanges.typed Namespace

+

Classes

+ + + + + + + + + + +
NameModifierSummary
RoutingKeyExchangeActorpublicExchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match
RoutingKeySubscriptionpublicSubscription for exchanges that routes the messages based on their type and routing key
RoutingKeySubscriptionMessagepublicSubscription message for RoutingKeySubscription
RoutingKeyUnSubscriptionMessagepublicUnSubscription message for RoutingKeySubscription
TypedMultiExchangeActorpublicExchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children
TypedSingleExchangeActorpublicExchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children
TypedSubscriptionpublicSubscription for exchanges that routes the messages based on their type
TypedSubscriptionMessagepublicSubscription message for TypedSubscription
TypedUnSubscriptionMessagepublicUnSubscription message for TypedSubscription
+

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match

+
public class RoutingKeyExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Constructors

+ + +
NameModifierSummary
RoutingKeyExchangeActor(IActorSystem, string)publicCTOR
+

+

Methods

+ + + + + + +
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription
IsRoutingKeyMatch(string, string)protectedChecks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp)
IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage)protectedRemoves existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage)protectedCreates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.RoutingKeyExchangeActor(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

CTOR

+
public RoutingKeyExchangeActor(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.GetSubscriptionsForMessage(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription

+
protected override RoutingKeySubscription[] GetSubscriptionsForMessage(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]
List of subscriptions that match the incoming envelope
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.IsRoutingKeyMatch(string, string) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp)

+
protected virtual bool IsRoutingKeyMatch(string subscriptionRoutingKey, string messageRoutingKey)
+Method parameters
string subscriptionRoutingKey
Subscription routing key
string messageRoutingKey
Message routing key
+

Return value

bool
True when the message routing key matches the subscription routing key, otherwise false

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

+
protected override bool IsUnSubscribeMatch(RoutingKeySubscription subscription, RoutingKeyUnSubscriptionMessage unSubscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.

+
protected override RoutingKeySubscription[] ReplaceOnSubscribe(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]
List of all existing subscriptions
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyExchangeActor.SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyExchangeActor
+Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

+

Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage

+
protected override RoutingKeySubscription SubscriptionFactory(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription
Subscription instance
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscription Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\RoutingKeySubscription.cs

+

Subscription for exchanges that routes the messages based on their type and routing key

+
public class RoutingKeySubscription : TypedSubscription
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.Subscription -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
+

+

Properties

+ + +
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
+

+

Constructors

+ + +
NameModifierSummary
RoutingKeySubscription(Type, string, IActorRef)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscription.RoutingKey Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeySubscription
+Sources: actor\exchanges\typed\RoutingKeySubscription.cs

+

Routing key filter (if null, matches all messages)

+
public string RoutingKey { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscription.RoutingKeySubscription(Type, string, IActorRef) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeySubscription
+Sources: actor\exchanges\typed\RoutingKeySubscription.cs

+

CTOR

+
public RoutingKeySubscription(Type messageType, string routingKey, IActorRef actorRef)
+Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

Subscription message for RoutingKeySubscription

+
public class RoutingKeySubscriptionMessage : TypedSubscriptionMessage
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage
+

+

Properties

+ + +
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
+

+

Constructors

+ + +
NameModifierSummary
RoutingKeySubscriptionMessage(Type, string)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscriptionMessage.RoutingKey Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeySubscriptionMessage
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

Routing key filter (if null, matches all messages)

+
public string RoutingKey { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

RoutingKeySubscriptionMessage.RoutingKeySubscriptionMessage(Type, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeySubscriptionMessage
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

CTOR

+
public RoutingKeySubscriptionMessage(Type messageType, string routingKey)
+Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
+

Go to namespaces or types or source-only packages

+

+

RoutingKeyUnSubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

UnSubscription message for RoutingKeySubscription

+
public class RoutingKeyUnSubscriptionMessage : TypedUnSubscriptionMessage
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage
+

+

Properties

+ + +
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
+

+

Constructors

+ + +
NameModifierSummary
RoutingKeyUnSubscriptionMessage(Type, string)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyUnSubscriptionMessage.RoutingKey Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyUnSubscriptionMessage
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

Routing key filter (if null, matches all messages)

+
public string RoutingKey { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

RoutingKeyUnSubscriptionMessage.RoutingKeyUnSubscriptionMessage(Type, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: RoutingKeyUnSubscriptionMessage
+Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

+

CTOR

+
public RoutingKeyUnSubscriptionMessage(Type messageType, string routingKey)
+Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children

+
public class TypedMultiExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Constructors

+ + +
NameModifierSummary
TypedMultiExchangeActor(IActorSystem, string)publicCTOR
+

+

Methods

+ + + + + +
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children
IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)protectedRemoves existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, TypedSubscriptionMessage)protectedCreates a new TypedSubscription instance based on the subscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor.TypedMultiExchangeActor(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedMultiExchangeActor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

CTOR

+
public TypedMultiExchangeActor(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor.GetSubscriptionsForMessage(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedMultiExchangeActor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children

+
protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of subscriptions that match the incoming envelope
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)

+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedMultiExchangeActor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

+
protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedMultiExchangeActor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.

+
protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of all existing subscriptions
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedMultiExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedMultiExchangeActor
+Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

+

Creates a new TypedSubscription instance based on the subscriptionMessage

+
protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
Subscription instance
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children

+
public class TypedSingleExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Constructors

+ + +
NameModifierSummary
TypedSingleExchangeActor(IActorSystem, string)publicCTOR
+

+

Methods

+ + + + + +
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type
IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)protectedRemoves existing subscriptions with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, TypedSubscriptionMessage)protectedCreates a new TypedSubscription instance based on the subscriptionMessage
+

+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor.TypedSingleExchangeActor(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSingleExchangeActor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

CTOR

+
public TypedSingleExchangeActor(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor.GetSubscriptionsForMessage(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSingleExchangeActor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type

+
protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of subscriptions that match the incoming envelope
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)

+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSingleExchangeActor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

+
protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
+

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSingleExchangeActor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

Removes existing subscriptions with the same "subscription type" when a new subscription message arrives.

+
protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of all existing subscriptions
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedSingleExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSingleExchangeActor
+Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

+

Creates a new TypedSubscription instance based on the subscriptionMessage

+
protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
+

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
Subscription instance
Overrides: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)

+

Go to namespaces or types or source-only packages

+

+

TypedSubscription Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\TypedSubscription.cs

+

Subscription for exchanges that routes the messages based on their type

+
public class TypedSubscription : Subscription
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.Subscription
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription
+

+

Properties

+ + +
NameModifierSummary
MessageTypepublicSystem.Type of the message
+

+

Constructors

+ + +
NameModifierSummary
TypedSubscription(Type, IActorRef)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

TypedSubscription.MessageType Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSubscription
+Sources: actor\exchanges\typed\TypedSubscription.cs

+

System.Type of the message

+
public Type MessageType { get; }
+

Property value

System.Type

+

Go to namespaces or types or source-only packages

+

+

TypedSubscription.TypedSubscription(Type, IActorRef) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSubscription
+Sources: actor\exchanges\typed\TypedSubscription.cs

+

CTOR

+
public TypedSubscription(Type messageType, IActorRef actorRef)
+Constructor parameters
System.Type messageType
System.Type of the message
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
+

Go to namespaces or types or source-only packages

+

+

TypedSubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

Subscription message for TypedSubscription

+
public class TypedSubscriptionMessage : SubscriptionMessage
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage
+

+

Properties

+ + +
NameModifierSummary
MessageTypepublicSystem.Type of the message
+

+

Constructors

+ + +
NameModifierSummary
TypedSubscriptionMessage(Type)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

TypedSubscriptionMessage.MessageType Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSubscriptionMessage
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

System.Type of the message

+
public Type MessageType { get; }
+

Property value

System.Type

+

Go to namespaces or types or source-only packages

+

+

TypedSubscriptionMessage.TypedSubscriptionMessage(Type) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedSubscriptionMessage
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

CTOR

+
public TypedSubscriptionMessage(Type messageType)
+Constructor parameters
System.Type messageType
System.Type of the message
+

Go to namespaces or types or source-only packages

+

+

TypedUnSubscriptionMessage Class

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

UnSubscription message for TypedSubscription

+
public class TypedUnSubscriptionMessage : UnSubscriptionMessage
+

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage
+Derived: net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage
+

+

Properties

+ + +
NameModifierSummary
MessageTypepublicSystem.Type of the message
+

+

Constructors

+ + +
NameModifierSummary
TypedUnSubscriptionMessage(Type)publicCTOR
+

+

Go to namespaces or types or source-only packages

+

+

TypedUnSubscriptionMessage.MessageType Property

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedUnSubscriptionMessage
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

System.Type of the message

+
public Type MessageType { get; }
+

Property value

System.Type

+

Go to namespaces or types or source-only packages

+

+

TypedUnSubscriptionMessage.TypedUnSubscriptionMessage(Type) Constructor

+

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
+Assembly: net.adamec.lib.common.actor
+Type: TypedUnSubscriptionMessage
+Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

+

CTOR

+
public TypedUnSubscriptionMessage(Type messageType)
+Constructor parameters
System.Type messageType
System.Type of the message
+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md b/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md new file mode 100644 index 0000000..ca635d0 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md @@ -0,0 +1,1084 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.actor.exchanges.typed Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) | public | Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match | + | [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | public | Subscription for exchanges that routes the messages based on their type and routing key | + | [RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) | public | Subscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | + | [RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) | public | UnSubscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | + | [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) | public | Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children | + | [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) | public | Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children | + | [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | public | Subscription for exchanges that routes the messages based on their type | + | [TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) | public | Subscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | + | [TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) | public | UnSubscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyExchangeActor Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match + + + +```csharp +public class RoutingKeyExchangeActor : ExchangeActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKeyExchangeActor(IActorSystem, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___17ryw0k) | public | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1iabgbj) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription | + | [IsRoutingKeyMatch(string, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.isroutingkeymatch_system.string-system.string___102orov) | protected | Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp) | + | [IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage___1qyhqkr) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | + | [ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage___rj17km) | protected | Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. | + | [SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage___3ufphk) | protected | Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyExchangeActor.RoutingKeyExchangeActor(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +CTOR + + + +```csharp +public RoutingKeyExchangeActor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription + + + +```csharp +protected override RoutingKeySubscription[] GetSubscriptionsForMessage(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
List of subscriptions that match the incoming envelope
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1lba1kc) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
RoutingKeyExchangeActor.IsRoutingKeyMatch(string, string) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp) + + + +```csharp +protected virtual bool IsRoutingKeyMatch(string subscriptionRoutingKey, string messageRoutingKey) +``` + +Method parameters
string subscriptionRoutingKey
Subscription routing key
string messageRoutingKey
Message routing key
+Return value
bool
True when the message routing key matches the subscription routing key, otherwise false
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyExchangeActor.IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type + + + +```csharp +protected override bool IsUnSubscribeMatch(RoutingKeySubscription subscription, RoutingKeyUnSubscriptionMessage unSubscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) unSubscriptionMessage
UnSubscription message
+Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.isunsubscribematch_-0--2___87gny2) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyExchangeActor.ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. + + + +```csharp +protected override RoutingKeySubscription[] ReplaceOnSubscribe(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
List of all existing subscriptions
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
RoutingKeyExchangeActor.SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) +Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs + + +Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage + + + +```csharp +protected override RoutingKeySubscription SubscriptionFactory(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
Subscription instance
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
RoutingKeySubscription Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\RoutingKeySubscription.cs + + +Subscription for exchanges that routes the messages based on their type and routing key + + + +```csharp +public class RoutingKeySubscription : TypedSubscription +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKey](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription.routingkey__a5qax5) | public | Routing key filter (if null, matches all messages) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKeySubscription(Type, string, IActorRef)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription.-ctor_system.type-system.string-net.adamec.lib.common.actor.actor.iactorref___15anvd7) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeySubscription.RoutingKey Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) +Sources: actor\exchanges\typed\RoutingKeySubscription.cs + + +Routing key filter (if null, matches all messages) + + + +```csharp +public string RoutingKey { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeySubscription.RoutingKeySubscription(Type, string, IActorRef) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) +Sources: actor\exchanges\typed\RoutingKeySubscription.cs + + +CTOR + + + +```csharp +public RoutingKeySubscription(Type messageType, string routingKey, IActorRef actorRef) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeySubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +Subscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) + + + +```csharp +public class RoutingKeySubscriptionMessage : TypedSubscriptionMessage +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKey](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage.routingkey__qsyr8a) | public | Routing key filter (if null, matches all messages) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKeySubscriptionMessage(Type, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage.-ctor_system.type-system.string___bzfl4x) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeySubscriptionMessage.RoutingKey Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +Routing key filter (if null, matches all messages) + + + +```csharp +public string RoutingKey { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeySubscriptionMessage.RoutingKeySubscriptionMessage(Type, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +CTOR + + + +```csharp +public RoutingKeySubscriptionMessage(Type messageType, string routingKey) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyUnSubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +UnSubscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) + + + +```csharp +public class RoutingKeyUnSubscriptionMessage : TypedUnSubscriptionMessage +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKey](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage.routingkey__16ll9yd) | public | Routing key filter (if null, matches all messages) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [RoutingKeyUnSubscriptionMessage(Type, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage.-ctor_system.type-system.string___1eem2s) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyUnSubscriptionMessage.RoutingKey Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +Routing key filter (if null, matches all messages) + + + +```csharp +public string RoutingKey { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RoutingKeyUnSubscriptionMessage.RoutingKeyUnSubscriptionMessage(Type, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) +Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs + + +CTOR + + + +```csharp +public RoutingKeyUnSubscriptionMessage(Type messageType, string routingKey) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedMultiExchangeActor Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children + + + +```csharp +public class TypedMultiExchangeActor : ExchangeActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypedMultiExchangeActor(IActorSystem, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1l0lpb0) | public | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___9uu8op) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children | + | [IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage___kjj5nt) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | + | [ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___1wvem41) | protected | Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. | + | [SubscriptionFactory(IActorRef, TypedSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___10dtbmj) | protected | Creates a new [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedMultiExchangeActor.TypedMultiExchangeActor(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +CTOR + + + +```csharp +public TypedMultiExchangeActor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedMultiExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children + + + +```csharp +protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of subscriptions that match the incoming envelope
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1lba1kc) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedMultiExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type + + + +```csharp +protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) unSubscriptionMessage
UnSubscription message
+Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.isunsubscribematch_-0--2___87gny2) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedMultiExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. + + + +```csharp +protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of all existing subscriptions
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedMultiExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) +Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs + + +Creates a new [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage + + + +```csharp +protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
Subscription instance
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedSingleExchangeActor Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children + + + +```csharp +public class TypedSingleExchangeActor : ExchangeActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypedSingleExchangeActor(IActorSystem, string)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1nv1jk7) | public | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1pc989c) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type | + | [IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage___zk123g) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | + | [ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___azg7e0) | protected | Removes existing subscriptions with the same "subscription type" when a new subscription message arrives. | + | [SubscriptionFactory(IActorRef, TypedSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___1dxxz9k) | protected | Creates a new [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSingleExchangeActor.TypedSingleExchangeActor(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +CTOR + + + +```csharp +public TypedSingleExchangeActor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSingleExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type + + + +```csharp +protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of subscriptions that match the incoming envelope
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1lba1kc) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedSingleExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type + + + +```csharp +protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) unSubscriptionMessage
UnSubscription message
+Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.isunsubscribematch_-0--2___87gny2) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSingleExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +Removes existing subscriptions with the same "subscription type" when a new subscription message arrives. + + + +```csharp +protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of all existing subscriptions
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedSingleExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) +Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs + + +Creates a new [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage + + + +```csharp +protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
+Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
Subscription instance
Overrides: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
TypedSubscription Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\TypedSubscription.cs + + +Subscription for exchanges that routes the messages based on their type + + + +```csharp +public class TypedSubscription : Subscription +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [MessageType](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription.messagetype__1os7ees) | public | System.Type of the message | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypedSubscription(Type, IActorRef)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription.-ctor_system.type-net.adamec.lib.common.actor.actor.iactorref___vgut5o) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSubscription.MessageType Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) +Sources: actor\exchanges\typed\TypedSubscription.cs + + +System.Type of the message + + + +```csharp +public Type MessageType { get; } +``` + +Property value
System.Type
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSubscription.TypedSubscription(Type, IActorRef) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) +Sources: actor\exchanges\typed\TypedSubscription.cs + + +CTOR + + + +```csharp +public TypedSubscription(Type messageType, IActorRef actorRef) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +Subscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) + + + +```csharp +public class TypedSubscriptionMessage : SubscriptionMessage +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [MessageType](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage.messagetype__kfnrfx) | public | System.Type of the message | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypedSubscriptionMessage(Type)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage.-ctor_system.type___6y7fn4) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSubscriptionMessage.MessageType Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +System.Type of the message + + + +```csharp +public Type MessageType { get; } +``` + +Property value
System.Type
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedSubscriptionMessage.TypedSubscriptionMessage(Type) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +CTOR + + + +```csharp +public TypedSubscriptionMessage(Type messageType) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedUnSubscriptionMessage Class ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +UnSubscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) + + + +```csharp +public class TypedUnSubscriptionMessage : UnSubscriptionMessage +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) +Derived: [net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [MessageType](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage.messagetype__1i0fwqk) | public | System.Type of the message | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypedUnSubscriptionMessage(Type)](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage.-ctor_system.type___1lj7u7r) | public | CTOR | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedUnSubscriptionMessage.MessageType Property ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +System.Type of the message + + + +```csharp +public Type MessageType { get; } +``` + +Property value
System.Type
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypedUnSubscriptionMessage.TypedUnSubscriptionMessage(Type) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) +Assembly: net.adamec.lib.common.actor +Type: [TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) +Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs + + +CTOR + + + +```csharp +public TypedUnSubscriptionMessage(Type messageType) +``` + +Constructor parameters
System.Type messageType
System.Type of the message
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.actor__1ldg5ba.html b/doc/net.adamec.lib.common.actor.actor__1ldg5ba.html new file mode 100644 index 0000000..306f31f --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor__1ldg5ba.html @@ -0,0 +1,731 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.actor Namespace

+

Classes

+ + + + + + + + +
NameModifierSummary
Actorpublic abstractReference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.
ActorRefEmptypublicReference to empty virtual actor
ActorRefInternalinternalInternal implementation of actor reference. Encapsulates the mailbox (queue) for the actor
ActorRefNameOnlypublic abstractBase class for the virtual actors
ActorRefspublicCommon references to virtual actors
ActorRefSystempublicReference to system virtual actor
SyncActorinternalInternal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern
+

+

Interfaces

+ + + +
NameModifierSummary
IActorpublic abstractActor interface
IActorRefpublic abstractReference to actor
+

+

Delegates

+ + +
NameModifierSummary
ReceivepublicDelegate describing the recipient target (method processing the messages)
+

+

Go to namespaces or types or source-only packages

+

+

Actor Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\Actor.cs

+

Reference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.

+
public abstract class Actor : BaseDisposable, IActor
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
+Derived: net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Properties

+ + + + + + +
NameModifierSummary
ActorSystemprotectedActor system
CanReceivepublicReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
DropAllReceiveprotectedMessage handler that drops all messages and returns false (unhandled)
ReceiveTargetpublicCurrent method processing the messages (to where the messages are dispatched to)
SelfpublicActor reference to self
+

+

Constructors

+ + +
NameModifierSummary
Actor(IActorSystem, string)protectedCTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the ReceiveTarget to Receive(Envelope) method
+

+

Methods

+ + + + + + +
NameModifierSummary
Become(Receive)protectedSwitches the actor behavior by setting the message handler . When the handler is not set, DropAllReceive handler is used.
BecomeDefault()protectedSwitch the message handler to Receive(Envelope) method
DisposeManaged()protectedDe-registers the actor from actor system
Receive(Envelope)protectedDefault message handler.
Unhandled(Envelope)protectedHelper for processing unhandled messages, returns false by default
+

+

Go to namespaces or types or source-only packages

+

+

Actor.ActorSystem Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Actor system

+
protected IActorSystem ActorSystem { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.IActorSystem

+

Go to namespaces or types or source-only packages

+

+

Actor.CanReceive Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

+
public bool CanReceive { get; protected set; }
+

Property value

bool
Implements: IActor.CanReceive

+

Go to namespaces or types or source-only packages

+

+

Actor.DropAllReceive Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Message handler that drops all messages and returns false (unhandled)

+
protected Receive DropAllReceive { get; }
+

Property value

net.adamec.lib.common.actor.actor.Receive

+

Go to namespaces or types or source-only packages

+

+

Actor.ReceiveTarget Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Current method processing the messages (to where the messages are dispatched to)

+
public Receive ReceiveTarget { get; protected set; }
+

Property value

net.adamec.lib.common.actor.actor.Receive
Implements: IActor.ReceiveTarget

+

Go to namespaces or types or source-only packages

+

+

Actor.Self Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Actor reference to self

+
public IActorRef Self { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

Actor.Actor(IActorSystem, string) Constructor

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the ReceiveTarget to Receive(Envelope) method

+
protected Actor(IActorSystem actorSystem, string name)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Actor name
+

Go to namespaces or types or source-only packages

+

+

Actor.Become(Receive) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Switches the actor behavior by setting the message handler . When the handler is not set, DropAllReceive handler is used.

+
protected virtual void Become(Receive handler)
+Method parameters
net.adamec.lib.common.actor.actor.Receive handler
New message handler
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Actor.BecomeDefault() Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Switch the message handler to Receive(Envelope) method

+
protected virtual void BecomeDefault()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Actor.DisposeManaged() Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

De-registers the actor from actor system

+
protected override void DisposeManaged()
+

Return value

void
Overrides: BaseDisposable.DisposeManaged()

+

Go to namespaces or types or source-only packages

+

+

Actor.Receive(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Default message handler.

+
protected virtual bool Receive(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope with incoming message
+

Return value

bool
True if handled, false if not handled. The default implementation calls Unhandled(Envelope) method that returns false

+

Go to namespaces or types or source-only packages

+

+

Actor.Unhandled(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: Actor
+Sources: actor\Actor.cs

+

Helper for processing unhandled messages, returns false by default

+
protected virtual bool Unhandled(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope with incoming message
+

Return value

bool
Should return false for unhandled messages and true if message has been finally handled here

+

Go to namespaces or types or source-only packages

+

+

ActorRefEmpty Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActorRef.cs

+

Reference to empty virtual actor

+
public class ActorRefEmpty : ActorRefNameOnly
+

Inheritance: object -> net.adamec.lib.common.actor.actor.ActorRefNameOnly
+Implements: net.adamec.lib.common.actor.actor.IActorRef

+

Properties

+ + +
NameModifierSummary
NamepublicName of the actor - [EMPTY]
+

+

Go to namespaces or types or source-only packages

+

+

ActorRefEmpty.Name Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefEmpty
+Sources: actor\IActorRef.cs

+

Name of the actor - [EMPTY]

+
public override string Name { get; }
+

Property value

string
Overrides: ActorRefNameOnly.Name

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\ActorRefInternal.cs

+

Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor

+
internal class ActorRefInternal : IActorRef
+

Inheritance: object
+Implements: net.adamec.lib.common.actor.actor.IActorRef

+

Fields

+ + + + + +
NameModifierSummary
actorSystemprivateActor systems
isBeingProcessedprivateFlag whether the actor (mailbox) is being processed
isBeingProcessedLockprivateLog used for isBeingProcessed flag ensuring the thread safe operations
MessageLoggerprotected static
+

+

Properties

+ + + + + +
NameModifierSummary
ActorinternalActor the reference belongs to
IsBeingProcessedinternalFlag whether the actor (mailbox) is being processed
NamepublicName of the actor
QueueinternalActor's mailbox (message queue)
+

+

Constructors

+ + +
NameModifierSummary
ActorRefInternal(IActor, string, IActorSystem)internalCTOR Creates the mailbox (queue) for the actor
+

+

Methods

+ + + + +
NameModifierSummary
LockForProcessing()internalLocks the actor for message processing
ProcessingFinished()internalUnlocks the actor for message processing
Tell(object, IActorRef, string)publicAsynchronously delivers a message actor's mailbox in a non-blocking fashion.
+

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.actorSystem Field

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Actor systems

+
private readonly IActorSystem actorSystem
+

Field value

net.adamec.lib.common.actor.actorsystem.IActorSystem

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.isBeingProcessed Field

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Flag whether the actor (mailbox) is being processed

+
private bool isBeingProcessed
+

Field value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.isBeingProcessedLock Field

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Log used for isBeingProcessed flag ensuring the thread safe operations

+
private readonly object isBeingProcessedLock
+

Field value

object

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.MessageLogger Field

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+
protected static ILogger MessageLogger
+

Field value

net.adamec.lib.common.logging.ILogger

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.Actor Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Actor the reference belongs to

+
internal IActor Actor { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActor

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.IsBeingProcessed Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Flag whether the actor (mailbox) is being processed

+
internal bool IsBeingProcessed { get; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.Name Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Name of the actor

+
public string Name { get; }
+

Property value

string
Implements: IActorRef.Name

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.Queue Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Actor's mailbox (message queue)

+
internal IMessageQueue Queue { get; }
+

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.ActorRefInternal(IActor, string, IActorSystem) Constructor

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

CTOR Creates the mailbox (queue) for the actor

+
internal ActorRefInternal(IActor actor, string name, IActorSystem actorSystem)
+Constructor parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor
string name
Name of the actor
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.LockForProcessing() Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Locks the actor for message processing

+
internal void LockForProcessing()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.ProcessingFinished() Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Unlocks the actor for message processing

+
internal void ProcessingFinished()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorRefInternal.Tell(object, IActorRef, string) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefInternal
+Sources: actor\ActorRefInternal.cs

+

Asynchronously delivers a message actor's mailbox in a non-blocking fashion.

+
public void Tell(object message, IActorRef sender, string routingKey = null)
+Method parameters
object message
The message to be sent to the actor.
net.adamec.lib.common.actor.actor.IActorRef sender
The sender of this message. Defaults to Empty if left to null .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
+

Return value

void
Implements: IActorRef.Tell(object, IActorRef, string)

+

Go to namespaces or types or source-only packages

+

+

ActorRefNameOnly Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActorRef.cs

+

Base class for the virtual actors

+
public abstract class ActorRefNameOnly : IActorRef
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.actor.ActorRefEmpty, net.adamec.lib.common.actor.actor.ActorRefSystem
+Implements: net.adamec.lib.common.actor.actor.IActorRef

+

Properties

+ + +
NameModifierSummary
Namepublic abstractName of the actor
+

+

Methods

+ + +
NameModifierSummary
Tell(object, IActorRef, string)publicEmpty implementation of the Tell(object, IActorRef, string) for the virtual actors
+

+

Go to namespaces or types or source-only packages

+

+

ActorRefNameOnly.Name Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefNameOnly
+Sources: actor\IActorRef.cs

+

Name of the actor

+
public abstract string Name { get; }
+

Property value

string
Implements: IActorRef.Name

+

Go to namespaces or types or source-only packages

+

+

ActorRefNameOnly.Tell(object, IActorRef, string) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefNameOnly
+Sources: actor\IActorRef.cs

+

Empty implementation of the Tell(object, IActorRef, string) for the virtual actors

+
public void Tell(object message, IActorRef sender, string routingKey = null)
+Method parameters
object message
Ignored
net.adamec.lib.common.actor.actor.IActorRef sender
Ignored
string routingKey
Ignored
+

Return value

void
Implements: IActorRef.Tell(object, IActorRef, string)

+

Go to namespaces or types or source-only packages

+

+

ActorRefs Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActorRef.cs

+

Common references to virtual actors

+
public class ActorRefs
+

Inheritance: object
+

+

Properties

+ + + +
NameModifierSummary
Emptypublic staticEmpty actor (means no real actor defined)
Systempublic staticSystem actor (to be used internally if needed)
+

+

Constructors

+ + +
NameModifierSummary
ActorRefs()private staticStatic CTOR - Creates the static references
+

+

Go to namespaces or types or source-only packages

+

+

ActorRefs.Empty Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefs
+Sources: actor\IActorRef.cs

+

Empty actor (means no real actor defined)

+
public static IActorRef Empty { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

ActorRefs.System Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefs
+Sources: actor\IActorRef.cs

+

System actor (to be used internally if needed)

+
public static IActorRef System { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

ActorRefs.ActorRefs() Constructor

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefs
+Sources: actor\IActorRef.cs

+

Static CTOR - Creates the static references

+
private static ActorRefs()
+

Go to namespaces or types or source-only packages

+

+

ActorRefSystem Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActorRef.cs

+

Reference to system virtual actor

+
public class ActorRefSystem : ActorRefNameOnly
+

Inheritance: object -> net.adamec.lib.common.actor.actor.ActorRefNameOnly
+Implements: net.adamec.lib.common.actor.actor.IActorRef

+

Properties

+ + +
NameModifierSummary
NamepublicName of the actor - [SYSTEM]
+

+

Go to namespaces or types or source-only packages

+

+

ActorRefSystem.Name Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: ActorRefSystem
+Sources: actor\IActorRef.cs

+

Name of the actor - [SYSTEM]

+
public override string Name { get; }
+

Property value

string
Overrides: ActorRefNameOnly.Name

+

Go to namespaces or types or source-only packages

+

+

SyncActor Class

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\SyncActor.cs

+

Internal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern

+
internal class SyncActor : BaseDisposable, IActor
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
+Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

+

Properties

+ + + + + + + + +
NameModifierSummary
ActorSystemprivate
CanReceivepublicReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
ReceiveTargetpublicCurrent method processing the messages (to where the messages are dispatched to)
ResponsepublicResponse message envelope
ResponseTypepublicExpected response type
SelfpublicActor reference to self
WaitHandlepublicWait handle used to signal that the response has arrived
+

+

Constructors

+ + +
NameModifierSummary
SyncActor(IActorSystem, Type, AutoResetEvent)publicCTOR
+

+

Methods

+ + + +
NameModifierSummary
DisposeManaged()protectedDeregisters itself from actor system
Receive(Envelope)protectedMessage handler - waits for the message of required ResponseType and when arrived, the message envelope is set to Response and the WaitHandle is set to signal the blocked "parent" thread that the response has been received.
+

+

Go to namespaces or types or source-only packages

+

+

SyncActor.ActorSystem Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+
private IActorSystem ActorSystem { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.IActorSystem

+

Go to namespaces or types or source-only packages

+

+

SyncActor.CanReceive Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

+
public bool CanReceive { get; }
+

Property value

bool
Implements: IActor.CanReceive

+

Go to namespaces or types or source-only packages

+

+

SyncActor.ReceiveTarget Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Current method processing the messages (to where the messages are dispatched to)

+
public Receive ReceiveTarget { get; }
+

Property value

net.adamec.lib.common.actor.actor.Receive
Implements: IActor.ReceiveTarget

+

Go to namespaces or types or source-only packages

+

+

SyncActor.Response Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Response message envelope

+
public Envelope Response { get; private set; }
+

Property value

net.adamec.lib.common.actor.message.Envelope

+

Go to namespaces or types or source-only packages

+

+

SyncActor.ResponseType Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Expected response type

+
public Type ResponseType { get; }
+

Property value

System.Type

+

Go to namespaces or types or source-only packages

+

+

SyncActor.Self Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Actor reference to self

+
public IActorRef Self { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

SyncActor.WaitHandle Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Wait handle used to signal that the response has arrived

+
public AutoResetEvent WaitHandle { get; }
+

Property value

System.Threading.AutoResetEvent

+

Go to namespaces or types or source-only packages

+

+

SyncActor.SyncActor(IActorSystem, Type, AutoResetEvent) Constructor

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

CTOR

+
public SyncActor(IActorSystem actorSystem, Type responseType, AutoResetEvent waitHandle)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
System.Type responseType
Expected type of the response
System.Threading.AutoResetEvent waitHandle
Wait handle used to signal that the response has arrived
+

Go to namespaces or types or source-only packages

+

+

SyncActor.DisposeManaged() Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Deregisters itself from actor system

+
protected override void DisposeManaged()
+

Return value

void
Overrides: BaseDisposable.DisposeManaged()

+

Go to namespaces or types or source-only packages

+

+

SyncActor.Receive(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: SyncActor
+Sources: actor\SyncActor.cs

+

Message handler - waits for the message of required ResponseType and when arrived, the message envelope is set to Response and the WaitHandle is set to signal the blocked "parent" thread that the response has been received.

+
protected virtual bool Receive(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message envelope
+

Return value

bool
True when message processed (handled) otherwise false

+

Go to namespaces or types or source-only packages

+

+

IActor Interface

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActor.cs

+

Actor interface

+
public interface IActor
+

Implemented by: net.adamec.lib.common.actor.actor.Actor, net.adamec.lib.common.actor.actor.SyncActor, net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>, net.adamec.lib.common.actor.actor.exchanges.single.SingleExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.TypedMultiExchangeActor, net.adamec.lib.common.actor.actor.exchanges.typed.TypedSingleExchangeActor
+

+

Properties

+ + + +
NameModifierSummary
CanReceivepublic abstractReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
ReceiveTargetpublic abstractCurrent method processing the messages (to where the messages are dispatched to)
+

+

Go to namespaces or types or source-only packages

+

+

IActor.CanReceive Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: IActor
+Sources: actor\IActor.cs

+

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

+
public abstract bool CanReceive { get; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

IActor.ReceiveTarget Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: IActor
+Sources: actor\IActor.cs

+

Current method processing the messages (to where the messages are dispatched to)

+
public abstract Receive ReceiveTarget { get; }
+

Property value

net.adamec.lib.common.actor.actor.Receive

+

Go to namespaces or types or source-only packages

+

+

IActorRef Interface

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActorRef.cs

+

Reference to actor

+
public interface IActorRef
+

Implemented by: net.adamec.lib.common.actor.actor.ActorRefInternal, net.adamec.lib.common.actor.actor.ActorRefNameOnly, net.adamec.lib.common.actor.actor.ActorRefEmpty, net.adamec.lib.common.actor.actor.ActorRefSystem
+

+

Properties

+ + +
NameModifierSummary
Namepublic abstractName of the actor
+

+

Methods

+ + +
NameModifierSummary
Tell(object, IActorRef, string)public abstractAsynchronously delivers a message to this IActorRef in a non-blocking fashion. Uses "at most once" delivery semantics.
+

+

Go to namespaces or types or source-only packages

+

+

IActorRef.Name Property

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: IActorRef
+Sources: actor\IActorRef.cs

+

Name of the actor

+
public abstract string Name { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

IActorRef.Tell(object, IActorRef, string) Method

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Type: IActorRef
+Sources: actor\IActorRef.cs

+

Asynchronously delivers a message to this IActorRef in a non-blocking fashion. Uses "at most once" delivery semantics.

+
public abstract void Tell(object message, IActorRef sender, string routingKey = null)
+Method parameters
object message
The message to be sent to the target.
net.adamec.lib.common.actor.actor.IActorRef sender
The sender of this message. Defaults to Empty if left to null .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Receive Delegate

+

Namespace: net.adamec.lib.common.actor.actor
+Assembly: net.adamec.lib.common.actor
+Sources: actor\IActor.cs

+

Delegate describing the recipient target (method processing the messages)

+
public delegate bool Receive(Envelope envelope)
+

Return value

bool
Recipient's method processing the messages

+Delegate parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
+

Inheritance: object -> Delegate -> MulticastDelegate
+Implements: System.ICloneable, System.Runtime.Serialization.ISerializable

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.actor__1ldg5ba.md b/doc/net.adamec.lib.common.actor.actor__1ldg5ba.md new file mode 100644 index 0000000..d977dc4 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actor__1ldg5ba.md @@ -0,0 +1,1533 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.actor Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) | public abstract | Reference implementation of [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. | + | [ActorRefEmpty](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) | public | Reference to empty virtual actor | + | [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) | internal | Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor | + | [ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) | public abstract | Base class for the virtual actors | + | [ActorRefs](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) | public | Common references to virtual actors | + | [ActorRefSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) | public | Reference to system virtual actor | + | [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) | internal | Internal actor used in [Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern | + + + + +### Interfaces ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) | public abstract | Actor interface | + | [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) | public abstract | Reference to actor | + + + + +### Delegates ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) | public | Delegate describing the recipient target (method processing the messages) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\Actor.cs + + +Reference implementation of [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. + + + +```csharp +public abstract class Actor : BaseDisposable, IActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Derived: [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.actorsystem__1g6mmur) | protected | Actor system | + | [CanReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.canreceive__19sq0hk) | public | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | + | [DropAllReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) | protected | Message handler that drops all messages and returns false (unhandled) | + | [ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) | public | Current method processing the messages (to where the messages are dispatched to) | + | [Self](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) | public | Actor reference to self | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Actor(IActorSystem, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___sft7zm) | protected | CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the [ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) to [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Become(Receive)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.become_net.adamec.lib.common.actor.actor.receive___cfu8bb) | protected | Switches the actor behavior by setting the message handler . When the handler is not set, [DropAllReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) handler is used. | + | [BecomeDefault()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.becomedefault__gzylss) | protected | Switch the message handler to [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method | + | [DisposeManaged()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.disposemanaged__m3e4v4) | protected | De-registers the actor from actor system | + | [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) | protected | Default message handler. | + | [Unhandled(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.unhandled_net.adamec.lib.common.actor.message.envelope___1cb59zm) | protected | Helper for processing unhandled messages, returns false by default | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.ActorSystem Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Actor system + + + +```csharp +protected IActorSystem ActorSystem { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Actor.CanReceive Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) + + + +```csharp +public bool CanReceive { get; protected set; } +``` + +Property value
bool
Implements: [IActor.CanReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.canreceive__f9x86f) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.DropAllReceive Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Message handler that drops all messages and returns false (unhandled) + + + +```csharp +protected Receive DropAllReceive { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Actor.ReceiveTarget Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Current method processing the messages (to where the messages are dispatched to) + + + +```csharp +public Receive ReceiveTarget { get; protected set; } +``` + +Property value
[net.adamec.lib.common.actor.actor.Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
Implements: [IActor.ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.receivetarget__n44wdg) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Actor.Self Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Actor reference to self + + + +```csharp +public IActorRef Self { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Actor.Actor(IActorSystem, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the [ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) to [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method + + + +```csharp +protected Actor(IActorSystem actorSystem, string name) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Actor name
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.Become(Receive) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Switches the actor behavior by setting the message handler . When the handler is not set, [DropAllReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) handler is used. + + + +```csharp +protected virtual void Become(Receive handler) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) handler
New message handler
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.BecomeDefault() Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Switch the message handler to [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method + + + +```csharp +protected virtual void BecomeDefault() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.DisposeManaged() Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +De-registers the actor from actor system + + + +```csharp +protected override void DisposeManaged() +``` + +Return value
void
Overrides: [BaseDisposable.DisposeManaged()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.Receive(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Default message handler. + + + +```csharp +protected virtual bool Receive(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope with incoming message
+Return value
bool
True if handled, false if not handled. The default implementation calls [Unhandled(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actor.unhandled_net.adamec.lib.common.actor.message.envelope___1cb59zm) method that returns false
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Actor.Unhandled(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) +Sources: actor\Actor.cs + + +Helper for processing unhandled messages, returns false by default + + + +```csharp +protected virtual bool Unhandled(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope with incoming message
+Return value
bool
Should return false for unhandled messages and true if message has been finally handled here
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefEmpty Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActorRef.cs + + +Reference to empty virtual actor + + + +```csharp +public class ActorRefEmpty : ActorRefNameOnly +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) +Implements: [net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefempty.name__175l78m) | public | Name of the actor - [EMPTY] | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefEmpty.Name Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefEmpty](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) +Sources: actor\IActorRef.cs + + +Name of the actor - [EMPTY] + + + +```csharp +public override string Name { get; } +``` + +Property value
string
Overrides: [ActorRefNameOnly.Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefnameonly.name__qk183e) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\ActorRefInternal.cs + + +Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor + + + +```csharp +internal class ActorRefInternal : IActorRef +``` + +Inheritance: object +Implements: [net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) + + +### Fields ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [actorSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.actorsystem__vswqpr) | private | Actor systems | + | [isBeingProcessed](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) | private | Flag whether the actor (mailbox) is being processed | + | [isBeingProcessedLock](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessedlock__1p7p9sp) | private | Log used for [isBeingProcessed](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) flag ensuring the thread safe operations | + | [MessageLogger](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.messagelogger__1vqsaru) | protected static | | + + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefinternal.actor__10pf4r2) | internal | Actor the reference belongs to | + | [IsBeingProcessed](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__1cq6t5g) | internal | Flag whether the actor (mailbox) is being processed | + | [Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefinternal.name__1uhi1my) | public | Name of the actor | + | [Queue](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefinternal.queue__2gyn6w) | internal | Actor's mailbox (message queue) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorRefInternal(IActor, string, IActorSystem)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefinternal.-ctor_net.adamec.lib.common.actor.actor.iactor-system.string-net.adamec.lib.common.actor.actorsystem.iactorsystem___8db4dq) | internal | CTOR Creates the mailbox (queue) for the actor | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [LockForProcessing()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefinternal.lockforprocessing__i64cop) | internal | Locks the actor for message processing | + | [ProcessingFinished()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefinternal.processingfinished__cj3e9v) | internal | Unlocks the actor for message processing | + | [Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefinternal.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___ggyubr) | public | Asynchronously delivers a message actor's mailbox in a non-blocking fashion. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.actorSystem Field ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Actor systems + + + +```csharp +private readonly IActorSystem actorSystem +``` + +Field value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefInternal.isBeingProcessed Field ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Flag whether the actor (mailbox) is being processed + + + +```csharp +private bool isBeingProcessed +``` + +Field value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.isBeingProcessedLock Field ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Log used for [isBeingProcessed](net.adamec.lib.common.actor.actor__1ldg5ba.md#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) flag ensuring the thread safe operations + + + +```csharp +private readonly object isBeingProcessedLock +``` + +Field value
object
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.MessageLogger Field ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + + +```csharp +protected static ILogger MessageLogger +``` + +Field value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefInternal.Actor Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Actor the reference belongs to + + + +```csharp +internal IActor Actor { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefInternal.IsBeingProcessed Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Flag whether the actor (mailbox) is being processed + + + +```csharp +internal bool IsBeingProcessed { get; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.Name Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Name of the actor + + + +```csharp +public string Name { get; } +``` + +Property value
string
Implements: [IActorRef.Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactorref.name__1ukc8z4) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.Queue Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Actor's mailbox (message queue) + + + +```csharp +internal IMessageQueue Queue { get; } +``` + +Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefInternal.ActorRefInternal(IActor, string, IActorSystem) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +CTOR Creates the mailbox (queue) for the actor + + + +```csharp +internal ActorRefInternal(IActor actor, string name, IActorSystem actorSystem) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor
string name
Name of the actor
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.LockForProcessing() Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Locks the actor for message processing + + + +```csharp +internal void LockForProcessing() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.ProcessingFinished() Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Unlocks the actor for message processing + + + +```csharp +internal void ProcessingFinished() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefInternal.Tell(object, IActorRef, string) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) +Sources: actor\ActorRefInternal.cs + + +Asynchronously delivers a message actor's mailbox in a non-blocking fashion. + + + +```csharp +public void Tell(object message, IActorRef sender, string routingKey = null) +``` + +Method parameters
object message
The message to be sent to the actor.
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
The sender of this message. Defaults to [Empty](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) if left to `null` .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
+Return value
void
Implements: [IActorRef.Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefNameOnly Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActorRef.cs + + +Base class for the virtual actors + + + +```csharp +public abstract class ActorRefNameOnly : IActorRef +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.actor.ActorRefEmpty](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n), [net.adamec.lib.common.actor.actor.ActorRefSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) +Implements: [net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefnameonly.name__qk183e) | public abstract | Name of the actor | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefnameonly.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___rh50yb) | public | Empty implementation of the [Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) for the virtual actors | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefNameOnly.Name Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) +Sources: actor\IActorRef.cs + + +Name of the actor + + + +```csharp +public abstract string Name { get; } +``` + +Property value
string
Implements: [IActorRef.Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactorref.name__1ukc8z4) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefNameOnly.Tell(object, IActorRef, string) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) +Sources: actor\IActorRef.cs + + +Empty implementation of the [Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) for the virtual actors + + + +```csharp +public void Tell(object message, IActorRef sender, string routingKey = null) +``` + +Method parameters
object message
Ignored
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Ignored
string routingKey
Ignored
+Return value
void
Implements: [IActorRef.Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefs Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActorRef.cs + + +Common references to virtual actors + + + +```csharp +public class ActorRefs +``` + +Inheritance: object + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Empty](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) | public static | Empty actor (means no real actor defined) | + | [System](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefs.system__1y8lt0o) | public static | System actor (to be used internally if needed) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorRefs()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.actorrefs.-cctor__1qfbqdk) | private static | Static CTOR - Creates the static references | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefs.Empty Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefs](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) +Sources: actor\IActorRef.cs + + +Empty actor (means no real actor defined) + + + +```csharp +public static IActorRef Empty { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefs.System Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefs](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) +Sources: actor\IActorRef.cs + + +System actor (to be used internally if needed) + + + +```csharp +public static IActorRef System { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorRefs.ActorRefs() Constructor ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefs](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) +Sources: actor\IActorRef.cs + + +Static CTOR - Creates the static references + + + +```csharp +private static ActorRefs() +``` + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefSystem Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActorRef.cs + + +Reference to system virtual actor + + + +```csharp +public class ActorRefSystem : ActorRefNameOnly +``` + +Inheritance: object -> [net.adamec.lib.common.actor.actor.ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) +Implements: [net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefsystem.name__q7wot2) | public | Name of the actor - [SYSTEM] | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorRefSystem.Name Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [ActorRefSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) +Sources: actor\IActorRef.cs + + +Name of the actor - [SYSTEM] + + + +```csharp +public override string Name { get; } +``` + +Property value
string
Overrides: [ActorRefNameOnly.Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefnameonly.name__qk183e) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor Class ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\SyncActor.cs + + +Internal actor used in [Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern + + + +```csharp +internal class SyncActor : BaseDisposable, IActor +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.actorsystem__1jy3biw) | private | | + | [CanReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.canreceive__37hi1h) | public | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | + | [ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.receivetarget__fqhb9w) | public | Current method processing the messages (to where the messages are dispatched to) | + | [Response](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) | public | Response message envelope | + | [ResponseType](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) | public | Expected response type | + | [Self](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.self__7tb7a6) | public | Actor reference to self | + | [WaitHandle](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) | public | Wait handle used to signal that the response has arrived | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [SyncActor(IActorSystem, Type, AutoResetEvent)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.syncactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.type-system.threading.autoresetevent___2ekqnh) | public | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [DisposeManaged()](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.syncactor.disposemanaged__1ldukpd) | protected | Deregisters itself from actor system | + | [Receive(Envelope)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.syncactor.receive_net.adamec.lib.common.actor.message.envelope___1adxu0d) | protected | Message handler - waits for the message of required [ResponseType](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) and when arrived, the message envelope is set to [Response](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) and the [WaitHandle](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) is set to signal the blocked "parent" thread that the response has been received. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.ActorSystem Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + + +```csharp +private IActorSystem ActorSystem { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SyncActor.CanReceive Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) + + + +```csharp +public bool CanReceive { get; } +``` + +Property value
bool
Implements: [IActor.CanReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.canreceive__f9x86f) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.ReceiveTarget Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Current method processing the messages (to where the messages are dispatched to) + + + +```csharp +public Receive ReceiveTarget { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
Implements: [IActor.ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.receivetarget__n44wdg) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SyncActor.Response Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Response message envelope + + + +```csharp +public Envelope Response { get; private set; } +``` + +Property value
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SyncActor.ResponseType Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Expected response type + + + +```csharp +public Type ResponseType { get; } +``` + +Property value
System.Type
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.Self Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Actor reference to self + + + +```csharp +public IActorRef Self { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
SyncActor.WaitHandle Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Wait handle used to signal that the response has arrived + + + +```csharp +public AutoResetEvent WaitHandle { get; } +``` + +Property value
System.Threading.AutoResetEvent
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.SyncActor(IActorSystem, Type, AutoResetEvent) Constructor ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +CTOR + + + +```csharp +public SyncActor(IActorSystem actorSystem, Type responseType, AutoResetEvent waitHandle) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
System.Type responseType
Expected type of the response
System.Threading.AutoResetEvent waitHandle
Wait handle used to signal that the response has arrived
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.DisposeManaged() Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Deregisters itself from actor system + + + +```csharp +protected override void DisposeManaged() +``` + +Return value
void
Overrides: [BaseDisposable.DisposeManaged()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## SyncActor.Receive(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Sources: actor\SyncActor.cs + + +Message handler - waits for the message of required [ResponseType](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) and when arrived, the message envelope is set to [Response](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) and the [WaitHandle](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) is set to signal the blocked "parent" thread that the response has been received. + + + +```csharp +protected virtual bool Receive(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message envelope
+Return value
bool
True when message processed (handled) otherwise false
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActor Interface ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActor.cs + + +Actor interface + + + +```csharp +public interface IActor +``` + +Implemented by: [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr), [net.adamec.lib.common.actor.actor.SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6), [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq), [net.adamec.lib.common.actor.actor.exchanges.single.SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y), [net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7), [net.adamec.lib.common.actor.actor.exchanges.typed.TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat), [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CanReceive](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.canreceive__f9x86f) | public abstract | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | + | [ReceiveTarget](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactor.receivetarget__n44wdg) | public abstract | Current method processing the messages (to where the messages are dispatched to) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActor.CanReceive Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) +Sources: actor\IActor.cs + + +Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) + + + +```csharp +public abstract bool CanReceive { get; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActor.ReceiveTarget Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) +Sources: actor\IActor.cs + + +Current method processing the messages (to where the messages are dispatched to) + + + +```csharp +public abstract Receive ReceiveTarget { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
IActorRef Interface ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActorRef.cs + + +Reference to actor + + + +```csharp +public interface IActorRef +``` + +Implemented by: [net.adamec.lib.common.actor.actor.ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal), [net.adamec.lib.common.actor.actor.ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh), [net.adamec.lib.common.actor.actor.ActorRefEmpty](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n), [net.adamec.lib.common.actor.actor.ActorRefSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Name](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.iactorref.name__1ukc8z4) | public abstract | Name of the actor | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Tell(object, IActorRef, string)](net.adamec.lib.common.actor.actor__1ldg5ba.md#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) | public abstract | Asynchronously delivers a message to this [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) in a non-blocking fashion. Uses "at most once" delivery semantics. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorRef.Name Property ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) +Sources: actor\IActorRef.cs + + +Name of the actor + + + +```csharp +public abstract string Name { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorRef.Tell(object, IActorRef, string) Method ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Type: [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) +Sources: actor\IActorRef.cs + + +Asynchronously delivers a message to this [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) in a non-blocking fashion. Uses "at most once" delivery semantics. + + + +```csharp +public abstract void Tell(object message, IActorRef sender, string routingKey = null) +``` + +Method parameters
object message
The message to be sent to the target.
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
The sender of this message. Defaults to [Empty](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) if left to `null` .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Receive Delegate ## +Namespace: [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) +Assembly: net.adamec.lib.common.actor +Sources: actor\IActor.cs + + +Delegate describing the recipient target (method processing the messages) + + + +```csharp +public delegate bool Receive(Envelope envelope) +``` + +Return value
bool
Recipient's method processing the messages
+ + +Delegate parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
+Inheritance: object -> Delegate -> MulticastDelegate +Implements: System.ICloneable, System.Runtime.Serialization.ISerializable + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.html b/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.html new file mode 100644 index 0000000..4f5e96a --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.html @@ -0,0 +1,926 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.actorsystem Namespace

+

Classes

+ + + + + +
NameModifierSummary
ActorSystempublicImplementation of actor system
ActorSystemDispatcherinternalMessage dispatched used by ActorSystem
ActorSystemOptionspublicUser defined configuration of ActorSystem
ScheduledMessageInfointernalScheduled message definition
+

+

Interfaces

+ + +
NameModifierSummary
IActorSystempublic abstractThe Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.
+

+

Go to namespaces or types or source-only packages

+

+

ActorSystem Class

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Sources: actorsystem\ActorSystem.cs

+

Implementation of actor system

+
public class ActorSystem : BaseDisposable, IActorSystem
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
+Implements: IDisposable, net.adamec.lib.common.actor.actorsystem.IActorSystem

+

Fields

+ + +
NameModifierSummary
Loggerinternal static
+

+

Properties

+ + + + + + +
NameModifierSummary
ActorsByRefprivateDictionary of actors by actor reference
DeadLetterspublicProvides the access to dead letters queue
DispatcherprivateReference to dispatcher used by actor system
ErrorMessageQueuepublicProvides the access to error messages queue
OptionspublicReturns the reference to current ActorSystemOptions
+

+

Constructors

+ + +
NameModifierSummary
ActorSystem(ActorSystemOptions)publicActorSystem constructor
+

+

Methods

+ + + + + + + + + + + + + +
NameModifierSummary
Ask(IActorRef, object, Type, int, bool)publicSends a request message to recipient and waits for the response of required responseType .
Ask<T>(IActorRef, object, int, bool)publicSends a request message to recipient and waits for the response of type .
CancelScheduledMessage(string)publicCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)publicCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DeRegisterActor(IActorRef)publicDe-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception
DisposeManaged()protectedStops and disposes the Dispatcher
GetMailboxesWithMessages()internalReturns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed
RegisterActor(IActor, string)publicRegisters the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.
ScheduleMessage(IActorRef, IActorRef, DateTime, object)publicSchedule one-time message to be sent to recipient at given date and time
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)publicSchedule periodic message to be sent to recipient each period .
Start()publicStarts the message dispatcher (started by default within ActorSystem constructor)
Stop()publicStops the message dispatcher (can be restarted using Start() method)
+

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Logger Field

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+
internal static ILogger Logger
+

Field value

net.adamec.lib.common.logging.ILogger

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.ActorsByRef Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Dictionary of actors by actor reference

+
private ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor> ActorsByRef { get; }
+

Property value

System.Collections.Concurrent.ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor>

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.DeadLetters Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Provides the access to dead letters queue

+
public IMessageQueue DeadLetters { get; }
+

Property value

net.adamec.lib.common.actor.queue.IMessageQueue
Implements: IActorSystem.DeadLetters

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Dispatcher Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Reference to dispatcher used by actor system

+
private ActorSystemDispatcher Dispatcher { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.ErrorMessageQueue Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Provides the access to error messages queue

+
public IMessageQueue ErrorMessageQueue { get; }
+

Property value

net.adamec.lib.common.actor.queue.IMessageQueue
Implements: IActorSystem.ErrorMessageQueue

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Options Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Returns the reference to current ActorSystemOptions

+
public ActorSystemOptions Options { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions
Implements: IActorSystem.Options

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.ActorSystem(ActorSystemOptions) Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

ActorSystem constructor

+
public ActorSystem(ActorSystemOptions options)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.ActorSystemOptions options
Actor system configuration options
+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Ask(IActorRef, object, Type, int, bool) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Sends a request message to recipient and waits for the response of required responseType .

+
public object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+

Return value

object
The "synchronous" response
Implements: IActorSystem.Ask(IActorRef, object, Type, int, bool)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Ask<T>(IActorRef, object, int, bool) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Sends a request message to recipient and waits for the response of type .

+
public ActorSystem.T Ask<T>(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false)
+Type parameters
T
System.Type of the message to wait for
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+

Return value

net.adamec.lib.common.actor.actorsystem.ActorSystem.T
The "synchronous" response
Implements: IActorSystem.Ask<T>(IActorRef, object, int, bool)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.CancelScheduledMessage(string) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

+
public bool CancelScheduledMessage(string id)
+Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+

Return value

bool
True if the message has been found and canceled, false when the message has not been found
Implements: IActorSystem.CancelScheduledMessage(string)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.CancelScheduledMessages(IActorRef, Type) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

+
public bool CancelScheduledMessages(IActorRef recipient, Type messageType)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+

Return value

bool
True if at least one message has been found and canceled, false when none has been found
Implements: IActorSystem.CancelScheduledMessages(IActorRef, Type)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.DeRegisterActor(IActorRef) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception

+
public void DeRegisterActor(IActorRef actorRef)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to actor to be de-registered
+

Return value

void
Implements: IActorSystem.DeRegisterActor(IActorRef)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.DisposeManaged() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Stops and disposes the Dispatcher

+
protected override void DisposeManaged()
+

Return value

void
Overrides: BaseDisposable.DisposeManaged()

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.GetMailboxesWithMessages() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed

+
internal List<net.adamec.lib.common.actor.actor.ActorRefInternal> GetMailboxesWithMessages()
+

Return value

List<net.adamec.lib.common.actor.actor.ActorRefInternal>
List of mailboxes(internal actor references) having the messages for processing

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.RegisterActor(IActor, string) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.

+
public IActorRef RegisterActor(IActor actor, string name)
+Method parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
+

Return value

net.adamec.lib.common.actor.actor.IActorRef
Actor reference to the registered actor
Implements: IActorSystem.RegisterActor(IActor, string)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Schedule one-time message to be sent to recipient at given date and time

+
public string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+

Return value

string
Unique ID of scheduled message
Implements: IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Schedule periodic message to be sent to recipient each period .

+
public string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+

Return value

string
Unique ID of scheduled message
Implements: IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Start() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Starts the message dispatcher (started by default within ActorSystem constructor)

+
public void Start()
+

Return value

void
Implements: IActorSystem.Start()

+

Go to namespaces or types or source-only packages

+

+

ActorSystem.Stop() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystem
+Sources: actorsystem\ActorSystem.cs

+

Stops the message dispatcher (can be restarted using Start() method)

+
public void Stop()
+

Return value

void
Implements: IActorSystem.Stop()

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher Class

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Message dispatched used by ActorSystem

+
internal class ActorSystemDispatcher : BaseDisposable
+

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
+Implements: IDisposable

+

Fields

+ + + + + +
NameModifierSummary
isActiveprivate
Loggerprotected static
MessageLoggerprotected staticMessage logger
scheduledMessagesLockprivate
+

+

Properties

+ + + + + + +
NameModifierSummary
ActorSystemprivate
ExecutorThreadprivateDispatcher executor thread
IsActivepublicFlag whether the dispatcher is active (dispatching messages)
OptionsprotectedActor System options
ScheduledMessagesprivate
+

+

Constructors

+ + +
NameModifierSummary
ActorSystemDispatcher(ActorSystem)publicInitialize dispatcher
+

+

Methods

+ + + + + + + + + + + + +
NameModifierSummary
CancelScheduledMessage(string)internalCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)internalCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DisposeManaged()protectedStops the dispatched when disposing
Execute(object)privateMain dispatcher loop (runs within the ExecutorThread ) The loop is active while isActive is set to true, so setting isActive to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing
GetScheduledMessagesDue()privateGets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule
ProcessActorQueue(object)privateMain actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target
ScheduleMessage(IActorRef, IActorRef, DateTime, object)internalSchedule one-time message to be sent to recipient at given date and time Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)internalSchedule periodic message to be sent to recipient each period . Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages
ScheduleMessage(ScheduledMessageInfo)privateGet's the given ScheduledMessageInfo and adds it to internal list of scheduled messages.
Start()publicStarts the dispatcher Creates the executor thread and starts processing the messages
Stop()publicStops the dispatcher Finish current processing and "close" the executor thread
+

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.isActive Field

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+
private volatile bool isActive
+

Field value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.Logger Field

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+
protected static ILogger Logger
+

Field value

net.adamec.lib.common.logging.ILogger

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.MessageLogger Field

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Message logger

+
protected static ILogger MessageLogger
+

Field value

net.adamec.lib.common.logging.ILogger

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.scheduledMessagesLock Field

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+
private readonly object scheduledMessagesLock
+

Field value

object

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ActorSystem Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+
private ActorSystem ActorSystem { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystem

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ExecutorThread Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Dispatcher executor thread

+
private Thread ExecutorThread { get; set; }
+

Property value

System.Threading.Thread

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.IsActive Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Flag whether the dispatcher is active (dispatching messages)

+
public bool IsActive { get; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.Options Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Actor System options

+
protected ActorSystemOptions Options { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ScheduledMessages Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+
private List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo> ScheduledMessages { get; }
+

Property value

List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ActorSystemDispatcher(ActorSystem) Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Initialize dispatcher

+
public ActorSystemDispatcher(ActorSystem actorSystem)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.ActorSystem actorSystem
Actor System the dispatcher belongs to
+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.CancelScheduledMessage(string) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

+
internal bool CancelScheduledMessage(string id)
+Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+

Return value

bool
True if the message has been found and canceled, false when the message has not been found

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.CancelScheduledMessages(IActorRef, Type) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

+
internal bool CancelScheduledMessages(IActorRef recipient, Type messageType)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+

Return value

bool
True if at least one message has been found and canceled, false when none has been found

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.DisposeManaged() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Stops the dispatched when disposing

+
protected override void DisposeManaged()
+

Return value

void
Overrides: BaseDisposable.DisposeManaged()

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.Execute(object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Main dispatcher loop (runs within the ExecutorThread ) The loop is active while isActive is set to true, so setting isActive to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing

+
private void Execute(object actorSystemObj)
+Method parameters
object actorSystemObj
Actor System
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.GetScheduledMessagesDue() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule

+
private IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo> GetScheduledMessagesDue()
+

Return value

IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
The list of scheduled messages that to be enqueued

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ProcessActorQueue(object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target

+
private void ProcessActorQueue(object actorRef)
+Method parameters
object actorRef
Actor to process
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Schedule one-time message to be sent to recipient at given date and time Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages

+
internal string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+

Return value

string
Unique ID of scheduled message

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Schedule periodic message to be sent to recipient each period . Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages

+
internal string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+

Return value

string
Unique ID of scheduled message

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.ScheduleMessage(ScheduledMessageInfo) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Get's the given ScheduledMessageInfo and adds it to internal list of scheduled messages.

+
private void ScheduleMessage(ScheduledMessageInfo msg)
+Method parameters
net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo msg
Scheduled message description to be added to the internal list of scheduled messages.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.Start() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Starts the dispatcher Creates the executor thread and starts processing the messages

+
public void Start()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorSystemDispatcher.Stop() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemDispatcher
+Sources: actorsystem\ActorSystemDispatcher.cs

+

Stops the dispatcher Finish current processing and "close" the executor thread

+
public void Stop()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions Class

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Sources: actorsystem\ActorSystemOptions.cs

+

User defined configuration of ActorSystem

+
public class ActorSystemOptions
+

Inheritance: object
+

+

Properties

+ + + + + + +
NameModifierSummary
Defaultpublic staticReturns the default ActorSystemOptions
LogDispatchMessagespublicIf enabled, logs each message before dispatched to actor with DEBUG level (default false)
LogEnqueuedMessagespublicIf enabled, logs each enqueued message with DEBUG level (default false)
LogNotHandledMessagespublicIf enabled, logs each not handled message with WARN level (default false)
MaxDispatchMessagesInBatchpublicDefines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10)
+

+

Constructors

+ + +
NameModifierSummary
ActorSystemOptions()private staticStatic CTOR - initialize default options instance
+

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.Default Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

Returns the default ActorSystemOptions

+
public static ActorSystemOptions Default { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.LogDispatchMessages Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

If enabled, logs each message before dispatched to actor with DEBUG level (default false)

+
public bool LogDispatchMessages { get; set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.LogEnqueuedMessages Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

If enabled, logs each enqueued message with DEBUG level (default false)

+
public bool LogEnqueuedMessages { get; set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.LogNotHandledMessages Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

If enabled, logs each not handled message with WARN level (default false)

+
public bool LogNotHandledMessages { get; set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.MaxDispatchMessagesInBatch Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10)

+
public int MaxDispatchMessagesInBatch { get; set; }
+

Property value

int

+

Go to namespaces or types or source-only packages

+

+

ActorSystemOptions.ActorSystemOptions() Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ActorSystemOptions
+Sources: actorsystem\ActorSystemOptions.cs

+

Static CTOR - initialize default options instance

+
private static ActorSystemOptions()
+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo Class

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Scheduled message definition

+
internal class ScheduledMessageInfo
+

Inheritance: object
+

+

Properties

+ + + + + + + +
NameModifierSummary
IdinternalUnique ID of scheduled message
MessageinternalMessage to be (periodically) sent to the Recipient
NextFireinternalDate and Time after which the message is enqueued to the Recipient queue
PeriodinternalPeriod after which the message is periodically enqueued to the Recipient queue. Null for non-periodic messages
RecipientinternalRecipient of the message
SenderinternalOptional information about the sender, usually used by Recipient to respond to the Message
+

+

Constructors

+ + + + +
NameModifierSummary
ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object)internalCTOR for one-time scheduled message info
ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object)internalCTOR for periodic scheduled message info
ScheduledMessageInfo(ScheduledMessageInfo)internalCTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID
+

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.Id Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Unique ID of scheduled message

+
internal string Id { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.Message Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Message to be (periodically) sent to the Recipient

+
internal object Message { get; }
+

Property value

object

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.NextFire Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Date and Time after which the message is enqueued to the Recipient queue

+
internal DateTime NextFire { get; }
+

Property value

DateTime

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.Period Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Period after which the message is periodically enqueued to the Recipient queue. Null for non-periodic messages

+
internal System.TimeSpan? Period { get; }
+

Property value

System.TimeSpan?

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.Recipient Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Recipient of the message

+
internal IActorRef Recipient { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.Sender Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

Optional information about the sender, usually used by Recipient to respond to the Message

+
internal IActorRef Sender { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object) Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

CTOR for one-time scheduled message info

+
internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
+Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object) Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

CTOR for periodic scheduled message info

+
internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
+Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+

Go to namespaces or types or source-only packages

+

+

ScheduledMessageInfo.ScheduledMessageInfo(ScheduledMessageInfo) Constructor

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: ScheduledMessageInfo
+Sources: actorsystem\ScheduledMessageInfo.cs

+

CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID

+
internal ScheduledMessageInfo(ScheduledMessageInfo existingPeriodicScheduledMessageInfo)
+Constructor parameters
net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo existingPeriodicScheduledMessageInfo
+

Go to namespaces or types or source-only packages

+

+

IActorSystem Interface

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Sources: actorsystem\IActorSystem.cs

+

The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.

+
public interface IActorSystem
+

Implemented by: net.adamec.lib.common.actor.actorsystem.ActorSystem
+

+

Properties

+ + + + +
NameModifierSummary
DeadLetterspublic abstractProvides the access to dead letters queue
ErrorMessageQueuepublic abstractProvides the access to error messages queue
Optionspublic abstractReturns the reference to current ActorSystemOptions
+

+

Methods

+ + + + + + + + + + + +
NameModifierSummary
Ask(IActorRef, object, Type, int, bool)public abstractSends a request message to recipient and waits for the response of required responseType .
Ask<T>(IActorRef, object, int, bool)public abstractSends a request message to recipient and waits for the response of type .
CancelScheduledMessage(string)public abstractCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)public abstractCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DeRegisterActor(IActorRef)public abstractDe-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception
RegisterActor(IActor, string)public abstractRegisters the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.
ScheduleMessage(IActorRef, IActorRef, DateTime, object)public abstractSchedule one-time message to be sent to recipient at given date and time
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)public abstractSchedule periodic message to be sent to recipient each period .
Start()public abstractStarts the message dispatcher (started by default within ActorSystem constructor)
Stop()public abstractStops the message dispatcher (can be restarted using Start() method)
+

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.DeadLetters Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Provides the access to dead letters queue

+
public abstract IMessageQueue DeadLetters { get; }
+

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.ErrorMessageQueue Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Provides the access to error messages queue

+
public abstract IMessageQueue ErrorMessageQueue { get; }
+

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.Options Property

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Returns the reference to current ActorSystemOptions

+
public abstract ActorSystemOptions Options { get; }
+

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.Ask(IActorRef, object, Type, int, bool) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Sends a request message to recipient and waits for the response of required responseType .

+
public abstract object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+

Return value

object
The "synchronous" response

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.Ask<T>(IActorRef, object, int, bool) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Sends a request message to recipient and waits for the response of type .

+
public abstract IActorSystem.T Ask<T>(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false)
+Type parameters
T
System.Type of the message to wait for
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+

Return value

net.adamec.lib.common.actor.actorsystem.IActorSystem.T
The "synchronous" response

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.CancelScheduledMessage(string) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

+
public abstract bool CancelScheduledMessage(string id)
+Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+

Return value

bool
True if the message has been found and canceled, false when the message has not been found

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.CancelScheduledMessages(IActorRef, Type) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

+
public abstract bool CancelScheduledMessages(IActorRef recipient, Type messageType)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+

Return value

bool
True if at least one message has been found and canceled, false when none has been found

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.DeRegisterActor(IActorRef) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception

+
public abstract void DeRegisterActor(IActorRef actorRef)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to actor to be de-registered
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.RegisterActor(IActor, string) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.

+
public abstract IActorRef RegisterActor(IActor actor, string name)
+Method parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
+

Return value

net.adamec.lib.common.actor.actor.IActorRef
Actor reference to the registered actor

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Schedule one-time message to be sent to recipient at given date and time

+
public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+

Return value

string
Unique ID of scheduled message

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Schedule periodic message to be sent to recipient each period .

+
public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+

Return value

string
Unique ID of scheduled message

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.Start() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Starts the message dispatcher (started by default within ActorSystem constructor)

+
public abstract void Start()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

IActorSystem.Stop() Method

+

Namespace: net.adamec.lib.common.actor.actorsystem
+Assembly: net.adamec.lib.common.actor
+Type: IActorSystem
+Sources: actorsystem\IActorSystem.cs

+

Stops the message dispatcher (can be restarted using Start() method)

+
public abstract void Stop()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.md b/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.md new file mode 100644 index 0000000..f876974 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.actorsystem__1ihx1md.md @@ -0,0 +1,1956 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.actorsystem Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | public | Implementation of actor system | + | [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) | internal | Message dispatched used by [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | + | [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | public | User defined configuration of [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | + | [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) | internal | Scheduled message definition | + + + + +### Interfaces ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) | public abstract | The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem Class ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Sources: actorsystem\ActorSystem.cs + + +Implementation of actor system + + + +```csharp +public class ActorSystem : BaseDisposable, IActorSystem +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Implements: IDisposable, [net.adamec.lib.common.actor.actorsystem.IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) + + +### Fields ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Logger](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystem.logger__1fhxf7) | internal static | | + + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorsByRef](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.actorsbyref__b06x73) | private | Dictionary of actors by actor reference | + | [DeadLetters](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.deadletters__1p4w7em) | public | Provides the access to dead letters queue | + | [Dispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) | private | Reference to dispatcher used by actor system | + | [ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.errormessagequeue__kecg1b) | public | Provides the access to error messages queue | + | [Options](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.options__1qogkkh) | public | Returns the reference to current [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystem(ActorSystemOptions)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.-ctor_net.adamec.lib.common.actor.actorsystem.actorsystemoptions___1wtfo99) | public | [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) constructor | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___sxd0yo) | public | Sends a request message to recipient and waits for the response of required responseType . | + | [Ask<T>(IActorRef, object, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.ask--1_net.adamec.lib.common.actor.actor.iactorref-system.object-system.int32-system.boolean___2dxd0s) | public | Sends a request message to recipient and waits for the response of type . | + | [CancelScheduledMessage(string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.cancelscheduledmessage_system.string___1w85qxn) | public | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | + | [CancelScheduledMessages(IActorRef, Type)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___sfq920) | public | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | + | [DeRegisterActor(IActorRef)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.deregisteractor_net.adamec.lib.common.actor.actor.iactorref___1x86w27) | public | De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception | + | [DisposeManaged()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.disposemanaged__162jz4w) | protected | Stops and disposes the [Dispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) | + | [GetMailboxesWithMessages()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.getmailboxeswithmessages__1oiw8zq) | internal | Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed | + | [RegisterActor(IActor, string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.registeractor_net.adamec.lib.common.actor.actor.iactor-system.string___o3h1j1) | public | Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. | + | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___1mc0hrz) | public | Schedule one-time message to be sent to recipient at given date and time | + | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___kqn59b) | public | Schedule periodic message to be sent to recipient each period . | + | [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) | public | Starts the message dispatcher (started by default within ActorSystem constructor) | + | [Stop()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.stop__v7scp2) | public | Stops the message dispatcher (can be restarted using [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) method) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.Logger Field ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + + +```csharp +internal static ILogger Logger +``` + +Field value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.ActorsByRef Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Dictionary of actors by actor reference + + + +```csharp +private ConcurrentDictionary ActorsByRef { get; } +``` + +Property value
System.Collections.Concurrent.ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor>
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.DeadLetters Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Provides the access to dead letters queue + + + +```csharp +public IMessageQueue DeadLetters { get; } +``` + +Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
Implements: [IActorSystem.DeadLetters](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.deadletters__82oxzl) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.Dispatcher Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Reference to dispatcher used by actor system + + + +```csharp +private ActorSystemDispatcher Dispatcher { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.ErrorMessageQueue Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Provides the access to error messages queue + + + +```csharp +public IMessageQueue ErrorMessageQueue { get; } +``` + +Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
Implements: [IActorSystem.ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.Options Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Returns the reference to current [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) + + + +```csharp +public ActorSystemOptions Options { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
Implements: [IActorSystem.Options](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.options__logleg) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.ActorSystem(ActorSystemOptions) Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +[ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) constructor + + + +```csharp +public ActorSystem(ActorSystemOptions options) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) options
Actor system configuration options
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystem.Ask(IActorRef, object, Type, int, bool) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Sends a request message to recipient and waits for the response of required responseType . + + + +```csharp +public object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+Return value
object
The "synchronous" response
Implements: [IActorSystem.Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.Ask<T>(IActorRef, object, int, bool) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Sends a request message to recipient and waits for the response of type . + + + +```csharp +public ActorSystem.T Ask(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false) +``` + +Type parameters
T
System.Type of the message to wait for
+Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+Return value
net.adamec.lib.common.actor.actorsystem.ActorSystem.T
The "synchronous" response
Implements: [IActorSystem.Ask<T>(IActorRef, object, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask--1_net.adamec.lib.common.actor.actor.iactorref-system.object-system.int32-system.boolean___1d7ni9h) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.CancelScheduledMessage(string) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Cancels the scheduled message with given id - removes the message from list of the scheduled messages + + + +```csharp +public bool CancelScheduledMessage(string id) +``` + +Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+Return value
bool
True if the message has been found and canceled, false when the message has not been found
Implements: [IActorSystem.CancelScheduledMessage(string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessage_system.string___bluqps) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.CancelScheduledMessages(IActorRef, Type) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages + + + +```csharp +public bool CancelScheduledMessages(IActorRef recipient, Type messageType) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+Return value
bool
True if at least one message has been found and canceled, false when none has been found
Implements: [IActorSystem.CancelScheduledMessages(IActorRef, Type)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___c89uf5) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.DeRegisterActor(IActorRef) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception + + + +```csharp +public void DeRegisterActor(IActorRef actorRef) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to actor to be de-registered
+Return value
void
Implements: [IActorSystem.DeRegisterActor(IActorRef)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.deregisteractor_net.adamec.lib.common.actor.actor.iactorref___102bphm) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.DisposeManaged() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Stops and disposes the [Dispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) + + + +```csharp +protected override void DisposeManaged() +``` + +Return value
void
Overrides: [BaseDisposable.DisposeManaged()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.GetMailboxesWithMessages() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed + + + +```csharp +internal List GetMailboxesWithMessages() +``` + +Return value
List<net.adamec.lib.common.actor.actor.ActorRefInternal>
List of mailboxes(internal actor references) having the messages for processing
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.RegisterActor(IActor, string) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. + + + +```csharp +public IActorRef RegisterActor(IActor actor, string name) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
+Return value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
Actor reference to the registered actor
Implements: [IActorSystem.RegisterActor(IActor, string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.registeractor_net.adamec.lib.common.actor.actor.iactor-system.string___c4sh8g) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Schedule one-time message to be sent to recipient at given date and time + + + +```csharp +public string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+Return value
string
Unique ID of scheduled message
Implements: [IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___1o3fnac) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Schedule periodic message to be sent to recipient each period . + + + +```csharp +public string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+Return value
string
Unique ID of scheduled message
Implements: [IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___og1m84) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.Start() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Starts the message dispatcher (started by default within ActorSystem constructor) + + + +```csharp +public void Start() +``` + +Return value
void
Implements: [IActorSystem.Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystem.Stop() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) +Sources: actorsystem\ActorSystem.cs + + +Stops the message dispatcher (can be restarted using [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) method) + + + +```csharp +public void Stop() +``` + +Return value
void
Implements: [IActorSystem.Stop()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.stop__dly8m5) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher Class ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Sources: actorsystem\ActorSystemDispatcher.cs + + +Message dispatched used by [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) + + + +```csharp +internal class ActorSystemDispatcher : BaseDisposable +``` + +Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Implements: IDisposable + + +### Fields ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [isActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) | private | | + | [Logger](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.logger__1opp49m) | protected static | | + | [MessageLogger](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.messagelogger__9fz30j) | protected static | Message logger | + | [scheduledMessagesLock](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.scheduledmessageslock__19elh26) | private | | + + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | private | | + | [ExecutorThread](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) | private | Dispatcher executor thread | + | [IsActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__9h4ytm) | public | Flag whether the dispatcher is active (dispatching messages) | + | [Options](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.options__glvhoa) | protected | Actor System options | + | [ScheduledMessages](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.scheduledmessages__61sfpr) | private | | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystemDispatcher(ActorSystem)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.-ctor_net.adamec.lib.common.actor.actorsystem.actorsystem___bl3uhi) | public | Initialize dispatcher | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CancelScheduledMessage(string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.cancelscheduledmessage_system.string___1r5af14) | internal | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | + | [CancelScheduledMessages(IActorRef, Type)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___6bdh5j) | internal | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | + | [DisposeManaged()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.disposemanaged__121xst9) | protected | Stops the dispatched when disposing | + | [Execute(object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.execute_system.object___q5nu8z) | private | Main dispatcher loop (runs within the [ExecutorThread](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) ) The loop is active while [isActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) is set to true, so setting [isActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing | + | [GetScheduledMessagesDue()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.getscheduledmessagesdue__5eu7es) | private | Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule | + | [ProcessActorQueue(object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.processactorqueue_system.object___1ifalnd) | private | Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target | + | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___6k32uw) | internal | Schedule one-time message to be sent to recipient at given date and time Creates the [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages | + | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___vt99rw) | internal | Schedule periodic message to be sent to recipient each period . Creates the [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages | + | [ScheduleMessage(ScheduledMessageInfo)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo___1xwfair) | private | Get's the given [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) and adds it to internal list of scheduled messages. | + | [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.start__2g0p6j) | public | Starts the dispatcher Creates the executor thread and starts processing the messages | + | [Stop()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.stop__8jn5gr) | public | Stops the dispatcher Finish current processing and "close" the executor thread | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.isActive Field ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + + +```csharp +private volatile bool isActive +``` + +Field value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.Logger Field ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + + +```csharp +protected static ILogger Logger +``` + +Field value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemDispatcher.MessageLogger Field ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Message logger + + + +```csharp +protected static ILogger MessageLogger +``` + +Field value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemDispatcher.scheduledMessagesLock Field ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + + +```csharp +private readonly object scheduledMessagesLock +``` + +Field value
object
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ActorSystem Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + + +```csharp +private ActorSystem ActorSystem { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemDispatcher.ExecutorThread Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Dispatcher executor thread + + + +```csharp +private Thread ExecutorThread { get; set; } +``` + +Property value
System.Threading.Thread
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.IsActive Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Flag whether the dispatcher is active (dispatching messages) + + + +```csharp +public bool IsActive { get; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.Options Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Actor System options + + + +```csharp +protected ActorSystemOptions Options { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemDispatcher.ScheduledMessages Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + + +```csharp +private List ScheduledMessages { get; } +``` + +Property value
List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ActorSystemDispatcher(ActorSystem) Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Initialize dispatcher + + + +```csharp +public ActorSystemDispatcher(ActorSystem actorSystem) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) actorSystem
Actor System the dispatcher belongs to
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemDispatcher.CancelScheduledMessage(string) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Cancels the scheduled message with given id - removes the message from list of the scheduled messages + + + +```csharp +internal bool CancelScheduledMessage(string id) +``` + +Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+Return value
bool
True if the message has been found and canceled, false when the message has not been found
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.CancelScheduledMessages(IActorRef, Type) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages + + + +```csharp +internal bool CancelScheduledMessages(IActorRef recipient, Type messageType) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+Return value
bool
True if at least one message has been found and canceled, false when none has been found
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.DisposeManaged() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Stops the dispatched when disposing + + + +```csharp +protected override void DisposeManaged() +``` + +Return value
void
Overrides: [BaseDisposable.DisposeManaged()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.Execute(object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Main dispatcher loop (runs within the [ExecutorThread](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) ) The loop is active while [isActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) is set to true, so setting [isActive](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing + + + +```csharp +private void Execute(object actorSystemObj) +``` + +Method parameters
object actorSystemObj
Actor System
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.GetScheduledMessagesDue() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule + + + +```csharp +private IEnumerable GetScheduledMessagesDue() +``` + +Return value
IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
The list of scheduled messages that to be enqueued
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ProcessActorQueue(object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target + + + +```csharp +private void ProcessActorQueue(object actorRef) +``` + +Method parameters
object actorRef
Actor to process
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Schedule one-time message to be sent to recipient at given date and time Creates the [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages + + + +```csharp +internal string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+Return value
string
Unique ID of scheduled message
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Schedule periodic message to be sent to recipient each period . Creates the [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages + + + +```csharp +internal string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+Return value
string
Unique ID of scheduled message
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.ScheduleMessage(ScheduledMessageInfo) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Get's the given [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) and adds it to internal list of scheduled messages. + + + +```csharp +private void ScheduleMessage(ScheduledMessageInfo msg) +``` + +Method parameters
[net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) msg
Scheduled message description to be added to the internal list of scheduled messages.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.Start() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Starts the dispatcher Creates the executor thread and starts processing the messages + + + +```csharp +public void Start() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemDispatcher.Stop() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) +Sources: actorsystem\ActorSystemDispatcher.cs + + +Stops the dispatcher Finish current processing and "close" the executor thread + + + +```csharp +public void Stop() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions Class ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Sources: actorsystem\ActorSystemOptions.cs + + +User defined configuration of [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) + + + +```csharp +public class ActorSystemOptions +``` + +Inheritance: object + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Default](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.default__12pheto) | public static | Returns the default [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | + | [LogDispatchMessages](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.logdispatchmessages__b8w2y1) | public | If enabled, logs each message before dispatched to actor with DEBUG level (default false) | + | [LogEnqueuedMessages](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.logenqueuedmessages__1on1j1f) | public | If enabled, logs each enqueued message with DEBUG level (default false) | + | [LogNotHandledMessages](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.lognothandledmessages__982jd6) | public | If enabled, logs each not handled message with WARN level (default false) | + | [MaxDispatchMessagesInBatch](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.maxdispatchmessagesinbatch__47yvmi) | public | Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ActorSystemOptions()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.-cctor__coeb0w) | private static | Static CTOR - initialize default options instance | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions.Default Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +Returns the default [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) + + + +```csharp +public static ActorSystemOptions Default { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ActorSystemOptions.LogDispatchMessages Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +If enabled, logs each message before dispatched to actor with DEBUG level (default false) + + + +```csharp +public bool LogDispatchMessages { get; set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions.LogEnqueuedMessages Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +If enabled, logs each enqueued message with DEBUG level (default false) + + + +```csharp +public bool LogEnqueuedMessages { get; set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions.LogNotHandledMessages Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +If enabled, logs each not handled message with WARN level (default false) + + + +```csharp +public bool LogNotHandledMessages { get; set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions.MaxDispatchMessagesInBatch Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10) + + + +```csharp +public int MaxDispatchMessagesInBatch { get; set; } +``` + +Property value
int
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ActorSystemOptions.ActorSystemOptions() Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) +Sources: actorsystem\ActorSystemOptions.cs + + +Static CTOR - initialize default options instance + + + +```csharp +private static ActorSystemOptions() +``` + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo Class ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Sources: actorsystem\ScheduledMessageInfo.cs + + +Scheduled message definition + + + +```csharp +internal class ScheduledMessageInfo +``` + +Inheritance: object + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Id](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.id__d1ho0y) | internal | Unique ID of scheduled message | + | [Message](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) | internal | Message to be (periodically) sent to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) | + | [NextFire](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.nextfire__16ekkf2) | internal | Date and Time after which the message is enqueued to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue | + | [Period](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.period__v8c71e) | internal | Period after which the message is periodically enqueued to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue. Null for non-periodic messages | + | [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) | internal | Recipient of the message | + | [Sender](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.sender__1m7ejeu) | internal | Optional information about the sender, usually used by [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) to respond to the [Message](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___d10rbc) | internal | CTOR for one-time scheduled message info | + | [ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___w2q5fc) | internal | CTOR for periodic scheduled message info | + | [ScheduledMessageInfo(ScheduledMessageInfo)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo___1cbqekh) | internal | CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.Id Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Unique ID of scheduled message + + + +```csharp +internal string Id { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.Message Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Message to be (periodically) sent to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) + + + +```csharp +internal object Message { get; } +``` + +Property value
object
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.NextFire Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Date and Time after which the message is enqueued to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue + + + +```csharp +internal DateTime NextFire { get; } +``` + +Property value
DateTime
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.Period Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Period after which the message is periodically enqueued to the [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue. Null for non-periodic messages + + + +```csharp +internal System.TimeSpan? Period { get; } +``` + +Property value
System.TimeSpan?
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.Recipient Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Recipient of the message + + + +```csharp +internal IActorRef Recipient { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ScheduledMessageInfo.Sender Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +Optional information about the sender, usually used by [Recipient](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) to respond to the [Message](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) + + + +```csharp +internal IActorRef Sender { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object) Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +CTOR for one-time scheduled message info + + + +```csharp +internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object) Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +CTOR for periodic scheduled message info + + + +```csharp +internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, TimeSpan period, object message) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ScheduledMessageInfo.ScheduledMessageInfo(ScheduledMessageInfo) Constructor ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) +Sources: actorsystem\ScheduledMessageInfo.cs + + +CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID + + + +```csharp +internal ScheduledMessageInfo(ScheduledMessageInfo existingPeriodicScheduledMessageInfo) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) existingPeriodicScheduledMessageInfo
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
IActorSystem Interface ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Sources: actorsystem\IActorSystem.cs + + +The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. + + + +```csharp +public interface IActorSystem +``` + +Implemented by: [net.adamec.lib.common.actor.actorsystem.ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [DeadLetters](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.deadletters__82oxzl) | public abstract | Provides the access to dead letters queue | + | [ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | public abstract | Provides the access to error messages queue | + | [Options](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.options__logleg) | public abstract | Returns the reference to current [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) | public abstract | Sends a request message to recipient and waits for the response of required responseType . | + | [Ask<T>(IActorRef, object, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask--1_net.adamec.lib.common.actor.actor.iactorref-system.object-system.int32-system.boolean___1d7ni9h) | public abstract | Sends a request message to recipient and waits for the response of type . | + | [CancelScheduledMessage(string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessage_system.string___bluqps) | public abstract | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | + | [CancelScheduledMessages(IActorRef, Type)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___c89uf5) | public abstract | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | + | [DeRegisterActor(IActorRef)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.deregisteractor_net.adamec.lib.common.actor.actor.iactorref___102bphm) | public abstract | De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception | + | [RegisterActor(IActor, string)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.registeractor_net.adamec.lib.common.actor.actor.iactor-system.string___c4sh8g) | public abstract | Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. | + | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___1o3fnac) | public abstract | Schedule one-time message to be sent to recipient at given date and time | + | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___og1m84) | public abstract | Schedule periodic message to be sent to recipient each period . | + | [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) | public abstract | Starts the message dispatcher (started by default within ActorSystem constructor) | + | [Stop()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.stop__dly8m5) | public abstract | Stops the message dispatcher (can be restarted using [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) method) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.DeadLetters Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Provides the access to dead letters queue + + + +```csharp +public abstract IMessageQueue DeadLetters { get; } +``` + +Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
IActorSystem.ErrorMessageQueue Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Provides the access to error messages queue + + + +```csharp +public abstract IMessageQueue ErrorMessageQueue { get; } +``` + +Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
IActorSystem.Options Property ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Returns the reference to current [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) + + + +```csharp +public abstract ActorSystemOptions Options { get; } +``` + +Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
IActorSystem.Ask(IActorRef, object, Type, int, bool) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Sends a request message to recipient and waits for the response of required responseType . + + + +```csharp +public abstract object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+Return value
object
The "synchronous" response
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.Ask<T>(IActorRef, object, int, bool) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Sends a request message to recipient and waits for the response of type . + + + +```csharp +public abstract IActorSystem.T Ask(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false) +``` + +Type parameters
T
System.Type of the message to wait for
+Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
+Return value
net.adamec.lib.common.actor.actorsystem.IActorSystem.T
The "synchronous" response
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.CancelScheduledMessage(string) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Cancels the scheduled message with given id - removes the message from list of the scheduled messages + + + +```csharp +public abstract bool CancelScheduledMessage(string id) +``` + +Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
+Return value
bool
True if the message has been found and canceled, false when the message has not been found
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.CancelScheduledMessages(IActorRef, Type) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages + + + +```csharp +public abstract bool CancelScheduledMessages(IActorRef recipient, Type messageType) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
+Return value
bool
True if at least one message has been found and canceled, false when none has been found
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.DeRegisterActor(IActorRef) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception + + + +```csharp +public abstract void DeRegisterActor(IActorRef actorRef) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to actor to be de-registered
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.RegisterActor(IActor, string) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. + + + +```csharp +public abstract IActorRef RegisterActor(IActor actor, string name) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
+Return value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
Actor reference to the registered actor
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Schedule one-time message to be sent to recipient at given date and time + + + +```csharp +public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
+Return value
string
Unique ID of scheduled message
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Schedule periodic message to be sent to recipient each period . + + + +```csharp +public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
+Return value
string
Unique ID of scheduled message
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.Start() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Starts the message dispatcher (started by default within ActorSystem constructor) + + + +```csharp +public abstract void Start() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IActorSystem.Stop() Method ## +Namespace: [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) +Assembly: net.adamec.lib.common.actor +Type: [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) +Sources: actorsystem\IActorSystem.cs + + +Stops the message dispatcher (can be restarted using [Start()](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) method) + + + +```csharp +public abstract void Stop() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.html b/doc/net.adamec.lib.common.actor.html index 7635956..a534b0e 100644 --- a/doc/net.adamec.lib.common.actor.html +++ b/doc/net.adamec.lib.common.actor.html @@ -1,7 +1,7 @@ -Documentation +RAD Actor System Documentation @@ -34,3574 +34,70 @@ -

Documentation

+

RAD Actor System Documentation

Namespaces

- - - - - - - - - - + + + + + + + + + +
NameSummary
net.adamec.lib.common.actor.actor
net.adamec.lib.common.actor.actor.exchanges.@base
net.adamec.lib.common.actor.actor.exchanges.single
net.adamec.lib.common.actor.actor.exchanges.typed
net.adamec.lib.common.actor.actorsystem
net.adamec.lib.common.actor.message
net.adamec.lib.common.actor.queue
net.adamec.lib.common.extensions
net.adamec.lib.common.logging
net.adamec.lib.common.utils
net.adamec.lib.common.actor.actor
net.adamec.lib.common.actor.actor.exchanges.@base
net.adamec.lib.common.actor.actor.exchanges.single
net.adamec.lib.common.actor.actor.exchanges.typed
net.adamec.lib.common.actor.actorsystem
net.adamec.lib.common.actor.message
net.adamec.lib.common.actor.queue
net.adamec.lib.common.extensions
net.adamec.lib.common.logging
net.adamec.lib.common.utils

Types

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameModifierKindSummary
Actorpublic abstractClassReference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.
ActorRefEmptypublicClassReference to empty virtual actor
ActorRefInternalinternalClassInternal implementation of actor reference. Encapsulates the mailbox (queue) for the actor
ActorRefNameOnlypublic abstractClassBase class for the virtual actors
ActorRefspublicClassCommon references to virtual actors
ActorRefSystempublicClassReference to system virtual actor
ActorSystempublicClassImplementation of actor system
ActorSystemDispatcherinternalClassMessage dispatched used by ActorSystem
ActorSystemOptionspublicClassUser defined configuration of ActorSystem
BaseDisposablepublic abstractClassHelper class for implementation of System.IDisposable types
CommonLoggingpublic staticClassILogger factory
EnvelopepublicClassMessage envelope
ErrorMessagepublicClassSpecialized Envelope for messages in ErrorMessageQueue
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>public abstractClassExchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.
InternalQueueinternalClassAn unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!
LoggerExtensionsinternal staticClassILogger extensions
ManagedMessageQueuepublicClassMessage queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing
RoutingKeyExchangeActorpublicClassExchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match
RoutingKeySubscriptionpublicClassSubscription for exchanges that routes the messages based on their type and routing key
RoutingKeySubscriptionMessagepublicClassSubscription message for RoutingKeySubscription
RoutingKeyUnSubscriptionMessagepublicClassUnSubscription message for RoutingKeySubscription
ScheduledMessageInfointernalClassScheduled message definition
SingleExchangeActorpublicClassExchange Actor with zero or one subscriber
SubscriptionpublicClassBase exchange actor subscription
SubscriptionMessagepublicClassBase exchange actor subscription messages
SyncActorinternalClassInternal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern
TypedMultiExchangeActorpublicClassExchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children
TypedSingleExchangeActorpublicClassExchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children
TypedSubscriptionpublicClassSubscription for exchanges that routes the messages based on their type
TypedSubscriptionMessagepublicClassSubscription message for TypedSubscription
TypedUnSubscriptionMessagepublicClassUnSubscription message for TypedSubscription
TypeExtensionsinternal staticClassSystem.Type extensions
UnSubscriptionMessagepublicClassBase exchange actor un-subscription message
IActorpublic abstractInterfaceActor interface
IActorRefpublic abstractInterfaceReference to actor
IActorSystempublic abstractInterfaceThe Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.
ILoggerpublic abstractInterfaceLogger interface - wrapper around the NLog.ILogger
IMessageQueuepublic abstractInterface
ReceivepublicDelegateDelegate describing the recipient target (method processing the messages)
Actorpublic abstractClassReference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.
ActorRefEmptypublicClassReference to empty virtual actor
ActorRefInternalinternalClassInternal implementation of actor reference. Encapsulates the mailbox (queue) for the actor
ActorRefNameOnlypublic abstractClassBase class for the virtual actors
ActorRefspublicClassCommon references to virtual actors
ActorRefSystempublicClassReference to system virtual actor
ActorSystempublicClassImplementation of actor system
ActorSystemDispatcherinternalClassMessage dispatched used by ActorSystem
ActorSystemOptionspublicClassUser defined configuration of ActorSystem
BaseDisposablepublic abstractClassHelper class for implementation of System.IDisposable types
CommonLogginginternal staticClassILogger factory
EnvelopepublicClassMessage envelope
ErrorMessagepublicClassSpecialized Envelope for messages in ErrorMessageQueue
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>public abstractClassExchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.
InternalQueueinternalClassAn unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!
LoggerExtinternalClassILogger extensions
ManagedMessageQueuepublicClassMessage queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing
RoutingKeyExchangeActorpublicClassExchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match
RoutingKeySubscriptionpublicClassSubscription for exchanges that routes the messages based on their type and routing key
RoutingKeySubscriptionMessagepublicClassSubscription message for RoutingKeySubscription
RoutingKeyUnSubscriptionMessagepublicClassUnSubscription message for RoutingKeySubscription
ScheduledMessageInfointernalClassScheduled message definition
SingleExchangeActorpublicClassExchange Actor with zero or one subscriber
SubscriptionpublicClassBase exchange actor subscription
SubscriptionMessagepublicClassBase exchange actor subscription messages
SyncActorinternalClassInternal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern
TypedMultiExchangeActorpublicClassExchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children
TypedSingleExchangeActorpublicClassExchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children
TypedSubscriptionpublicClassSubscription for exchanges that routes the messages based on their type
TypedSubscriptionMessagepublicClassSubscription message for TypedSubscription
TypedUnSubscriptionMessagepublicClassUnSubscription message for TypedSubscription
TypeExtensionsinternal staticClassSystem.Type extensions
UnSubscriptionMessagepublicClassBase exchange actor un-subscription message
IActorpublic abstractInterfaceActor interface
IActorRefpublic abstractInterfaceReference to actor
IActorSystempublic abstractInterfaceThe Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.
ILoggerinternal abstractInterfaceLogger interface - wrapper around the NLog.ILogger with some additional methods
IMessageQueuepublic abstractInterface
ReceivepublicDelegateDelegate describing the recipient target (method processing the messages)

Go to namespaces or types or source-only packages

Source-only packages

- - - + + +
NameSummary
RadCommons.extensions.TypeExtensions.DefaultValueProvides default value for types (Source only package).
RadCommons.logging.CommonLoggingRadCommons logging wrapper around NLog (Source only package).
RadCommons.utils.BaseDisposableHelper class for implementation of IDisposable types (Source only package).
RadCommons.extensions.TypeExtensions.DefaultValueProvides default value for types (Source only package).
RadCommons.logging.CommonLoggingRadCommons logging wrapper around NLog with some extended functionality (Source only package).
RadCommons.utils.BaseDisposableHelper class for implementation of IDisposable types (Source only package).

Go to namespaces or types or source-only packages

-

net.adamec.lib.common.actor.actor Namespace

-

Classes

- - - - - - - - -
NameModifierSummary
Actorpublic abstractReference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.
ActorRefEmptypublicReference to empty virtual actor
ActorRefInternalinternalInternal implementation of actor reference. Encapsulates the mailbox (queue) for the actor
ActorRefNameOnlypublic abstractBase class for the virtual actors
ActorRefspublicCommon references to virtual actors
ActorRefSystempublicReference to system virtual actor
SyncActorinternalInternal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern
-

-

Interfaces

- - - -
NameModifierSummary
IActorpublic abstractActor interface
IActorRefpublic abstractReference to actor
-

-

Delegates

- - -
NameModifierSummary
ReceivepublicDelegate describing the recipient target (method processing the messages)
-

-

Go to namespaces or types or source-only packages

-

-

Actor Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\Actor.cs

-

Reference implementation of IActor that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via Self property.

-
public abstract class Actor : BaseDisposable, IActor
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Properties

- - - - - - -
NameModifierSummary
ActorSystemprotectedActor system
CanReceivepublicReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
DropAllReceiveprotectedMessage handler that drops all messages and returns false (unhandled)
ReceiveTargetpublicCurrent method processing the messages (to where the messages are dispatched to)
SelfpublicActor reference to self
-

-

Constructors

- - -
NameModifierSummary
Actor(IActorSystem, string)protectedCTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the ReceiveTarget to Receive(Envelope) method
-

-

Methods

- - - - - - -
NameModifierSummary
Become(Receive)protectedSwitches the actor behavior by setting the message handler . When the handler is not set, DropAllReceive handler is used.
BecomeDefault()protectedSwitch the message handler to Receive(Envelope) method
DisposeManaged()protectedDe-registers the actor from actor system
Receive(Envelope)protectedDefault message handler.
Unhandled(Envelope)protectedHelper for processing unhandled messages, returns false by default
-

-

Go to namespaces or types or source-only packages

-

-

Actor.ActorSystem Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Actor system

-
protected IActorSystem ActorSystem { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.IActorSystem

-

Go to namespaces or types or source-only packages

-

-

Actor.CanReceive Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

-
public bool CanReceive { get; protected set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

Actor.DropAllReceive Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Message handler that drops all messages and returns false (unhandled)

-
protected Receive DropAllReceive { get; }
-

Property value

net.adamec.lib.common.actor.actor.Receive

-

Go to namespaces or types or source-only packages

-

-

Actor.ReceiveTarget Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Current method processing the messages (to where the messages are dispatched to)

-
public Receive ReceiveTarget { get; protected set; }
-

Property value

net.adamec.lib.common.actor.actor.Receive

-

Go to namespaces or types or source-only packages

-

-

Actor.Self Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Actor reference to self

-
public IActorRef Self { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

Actor.Actor(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the ReceiveTarget to Receive(Envelope) method

-
protected Actor(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Actor name
-

Go to namespaces or types or source-only packages

-

-

Actor.Become(Receive) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Switches the actor behavior by setting the message handler . When the handler is not set, DropAllReceive handler is used.

-
protected virtual void Become(Receive handler)
-Method parameters
net.adamec.lib.common.actor.actor.Receive handler
New message handler
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Actor.BecomeDefault() Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Switch the message handler to Receive(Envelope) method

-
protected virtual void BecomeDefault()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Actor.DisposeManaged() Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

De-registers the actor from actor system

-
protected override void DisposeManaged()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Actor.Receive(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Default message handler.

-
protected virtual bool Receive(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope with incoming message
-

Return value

bool
True if handled, false if not handled. The default implementation calls Unhandled(Envelope) method that returns false

-

Go to namespaces or types or source-only packages

-

-

Actor.Unhandled(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: Actor
-Sources: actor\Actor.cs

-

Helper for processing unhandled messages, returns false by default

-
protected virtual bool Unhandled(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope with incoming message
-

Return value

bool
Should return false for unhandled messages and true if message has been finally handled here

-

Go to namespaces or types or source-only packages

-

-

ActorRefEmpty Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActorRef.cs

-

Reference to empty virtual actor

-
public class ActorRefEmpty : ActorRefNameOnly
-

Inheritance: object -> net.adamec.lib.common.actor.actor.ActorRefNameOnly
-Implements: net.adamec.lib.common.actor.actor.IActorRef

-

Properties

- - -
NameModifierSummary
NamepublicName of the actor - [EMPTY]
-

-

Go to namespaces or types or source-only packages

-

-

ActorRefEmpty.Name Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefEmpty
-Sources: actor\IActorRef.cs

-

Name of the actor - [EMPTY]

-
public override string Name { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\ActorRefInternal.cs

-

Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor

-
internal class ActorRefInternal : IActorRef
-

Inheritance: object
-Implements: net.adamec.lib.common.actor.actor.IActorRef

-

Fields

- - - - - -
NameModifierSummary
actorSystemprivateActor systems
isBeingProcessedprivateFlag whether the actor (mailbox) is being processed
isBeingProcessedLockprivateLog used for isBeingProcessed flag ensuring the thread safe operations
MessageLoggerprotected static
-

-

Properties

- - - - - -
NameModifierSummary
ActorinternalActor the reference belongs to
IsBeingProcessedinternalFlag whether the actor (mailbox) is being processed
NamepublicName of the actor
QueueinternalActor's mailbox (message queue)
-

-

Constructors

- - -
NameModifierSummary
ActorRefInternal(IActor, string, IActorSystem)internalCTOR Creates the mailbox (queue) for the actor
-

-

Methods

- - - - -
NameModifierSummary
LockForProcessing()internalLocks the actor for message processing
ProcessingFinished()internalUnlocks the actor for message processing
Tell(object, IActorRef, string)publicAsynchronously delivers a message actor's mailbox in a non-blocking fashion.
-

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.actorSystem Field

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Actor systems

-
private readonly IActorSystem actorSystem
-

Field value

net.adamec.lib.common.actor.actorsystem.IActorSystem

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.isBeingProcessed Field

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Flag whether the actor (mailbox) is being processed

-
private bool isBeingProcessed
-

Field value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.isBeingProcessedLock Field

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Log used for isBeingProcessed flag ensuring the thread safe operations

-
private readonly object isBeingProcessedLock
-

Field value

object

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.MessageLogger Field

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-
protected static ILogger MessageLogger
-

Field value

net.adamec.lib.common.logging.ILogger

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.Actor Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Actor the reference belongs to

-
internal IActor Actor { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActor

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.IsBeingProcessed Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Flag whether the actor (mailbox) is being processed

-
internal bool IsBeingProcessed { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.Name Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Name of the actor

-
public string Name { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.Queue Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Actor's mailbox (message queue)

-
internal IMessageQueue Queue { get; }
-

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.ActorRefInternal(IActor, string, IActorSystem) Constructor

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

CTOR Creates the mailbox (queue) for the actor

-
internal ActorRefInternal(IActor actor, string name, IActorSystem actorSystem)
-Constructor parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor
string name
Name of the actor
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.LockForProcessing() Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Locks the actor for message processing

-
internal void LockForProcessing()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.ProcessingFinished() Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Unlocks the actor for message processing

-
internal void ProcessingFinished()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorRefInternal.Tell(object, IActorRef, string) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefInternal
-Sources: actor\ActorRefInternal.cs

-

Asynchronously delivers a message actor's mailbox in a non-blocking fashion.

-
public void Tell(object message, IActorRef sender, string routingKey = null)
-Method parameters
object message
The message to be sent to the actor.
net.adamec.lib.common.actor.actor.IActorRef sender
The sender of this message. Defaults to Empty if left to null .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorRefNameOnly Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActorRef.cs

-

Base class for the virtual actors

-
public abstract class ActorRefNameOnly : IActorRef
-

Inheritance: object
-Implements: net.adamec.lib.common.actor.actor.IActorRef

-

Properties

- - -
NameModifierSummary
Namepublic abstractName of the actor
-

-

Methods

- - -
NameModifierSummary
Tell(object, IActorRef, string)publicEmpty implementation of the Tell(object, IActorRef, string) for the virtual actors
-

-

Go to namespaces or types or source-only packages

-

-

ActorRefNameOnly.Name Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefNameOnly
-Sources: actor\IActorRef.cs

-

Name of the actor

-
public abstract string Name { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

ActorRefNameOnly.Tell(object, IActorRef, string) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefNameOnly
-Sources: actor\IActorRef.cs

-

Empty implementation of the Tell(object, IActorRef, string) for the virtual actors

-
public void Tell(object message, IActorRef sender, string routingKey = null)
-Method parameters
object message
Ignored
net.adamec.lib.common.actor.actor.IActorRef sender
Ignored
string routingKey
Ignored
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorRefs Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActorRef.cs

-

Common references to virtual actors

-
public class ActorRefs
-

Inheritance: object
-

-

Properties

- - - -
NameModifierSummary
Emptypublic staticEmpty actor (means no real actor defined)
Systempublic staticSystem actor (to be used internally if needed)
-

-

Constructors

- - -
NameModifierSummary
ActorRefs()private staticStatic CTOR - Creates the static references
-

-

Go to namespaces or types or source-only packages

-

-

ActorRefs.Empty Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefs
-Sources: actor\IActorRef.cs

-

Empty actor (means no real actor defined)

-
public static IActorRef Empty { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

ActorRefs.System Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefs
-Sources: actor\IActorRef.cs

-

System actor (to be used internally if needed)

-
public static IActorRef System { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

ActorRefs.ActorRefs() Constructor

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefs
-Sources: actor\IActorRef.cs

-

Static CTOR - Creates the static references

-
private static ActorRefs()
-

Go to namespaces or types or source-only packages

-

-

ActorRefSystem Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActorRef.cs

-

Reference to system virtual actor

-
public class ActorRefSystem : ActorRefNameOnly
-

Inheritance: object -> net.adamec.lib.common.actor.actor.ActorRefNameOnly
-Implements: net.adamec.lib.common.actor.actor.IActorRef

-

Properties

- - -
NameModifierSummary
NamepublicName of the actor - [SYSTEM]
-

-

Go to namespaces or types or source-only packages

-

-

ActorRefSystem.Name Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: ActorRefSystem
-Sources: actor\IActorRef.cs

-

Name of the actor - [SYSTEM]

-
public override string Name { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

SyncActor Class

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\SyncActor.cs

-

Internal actor used in Ask(IActorRef, object, Type, int, bool) methods to implement Request-Reply pattern

-
internal class SyncActor : BaseDisposable, IActor
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Properties

- - - - - - - - -
NameModifierSummary
ActorSystemprivate
CanReceivepublicReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
ReceiveTargetpublicCurrent method processing the messages (to where the messages are dispatched to)
ResponsepublicResponse message envelope
ResponseTypepublicExpected response type
SelfpublicActor reference to self
WaitHandlepublicWait handle used to signal that the response has arrived
-

-

Constructors

- - -
NameModifierSummary
SyncActor(IActorSystem, Type, AutoResetEvent)publicCTOR
-

-

Methods

- - - -
NameModifierSummary
DisposeManaged()protectedDeregisters itself from actor system
Receive(Envelope)protectedMessage handler - waits for the message of required ResponseType and when arrived, the message envelope is set to Response and the WaitHandle is set to signal the blocked "parent" thread that the response has been received.
-

-

Go to namespaces or types or source-only packages

-

-

SyncActor.ActorSystem Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-
private IActorSystem ActorSystem { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.IActorSystem

-

Go to namespaces or types or source-only packages

-

-

SyncActor.CanReceive Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

-
public bool CanReceive { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

SyncActor.ReceiveTarget Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Current method processing the messages (to where the messages are dispatched to)

-
public Receive ReceiveTarget { get; }
-

Property value

net.adamec.lib.common.actor.actor.Receive

-

Go to namespaces or types or source-only packages

-

-

SyncActor.Response Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Response message envelope

-
public Envelope Response { get; private set; }
-

Property value

net.adamec.lib.common.actor.message.Envelope

-

Go to namespaces or types or source-only packages

-

-

SyncActor.ResponseType Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Expected response type

-
public Type ResponseType { get; }
-

Property value

System.Type

-

Go to namespaces or types or source-only packages

-

-

SyncActor.Self Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Actor reference to self

-
public IActorRef Self { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

SyncActor.WaitHandle Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Wait handle used to signal that the response has arrived

-
public AutoResetEvent WaitHandle { get; }
-

Property value

System.Threading.AutoResetEvent

-

Go to namespaces or types or source-only packages

-

-

SyncActor.SyncActor(IActorSystem, Type, AutoResetEvent) Constructor

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

CTOR

-
public SyncActor(IActorSystem actorSystem, Type responseType, AutoResetEvent waitHandle)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
System.Type responseType
Expected type of the response
System.Threading.AutoResetEvent waitHandle
Wait handle used to signal that the response has arrived
-

Go to namespaces or types or source-only packages

-

-

SyncActor.DisposeManaged() Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Deregisters itself from actor system

-
protected override void DisposeManaged()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

SyncActor.Receive(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: SyncActor
-Sources: actor\SyncActor.cs

-

Message handler - waits for the message of required ResponseType and when arrived, the message envelope is set to Response and the WaitHandle is set to signal the blocked "parent" thread that the response has been received.

-
protected virtual bool Receive(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message envelope
-

Return value

bool
True when message processed (handled) otherwise false

-

Go to namespaces or types or source-only packages

-

-

IActor Interface

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActor.cs

-

Actor interface

-
public interface IActor
-

Properties

- - - -
NameModifierSummary
CanReceivepublic abstractReturns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)
ReceiveTargetpublic abstractCurrent method processing the messages (to where the messages are dispatched to)
-

-

Go to namespaces or types or source-only packages

-

-

IActor.CanReceive Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: IActor
-Sources: actor\IActor.cs

-

Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox)

-
public abstract bool CanReceive { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

IActor.ReceiveTarget Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: IActor
-Sources: actor\IActor.cs

-

Current method processing the messages (to where the messages are dispatched to)

-
public abstract Receive ReceiveTarget { get; }
-

Property value

net.adamec.lib.common.actor.actor.Receive

-

Go to namespaces or types or source-only packages

-

-

IActorRef Interface

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActorRef.cs

-

Reference to actor

-
public interface IActorRef
-

Properties

- - -
NameModifierSummary
Namepublic abstractName of the actor
-

-

Methods

- - -
NameModifierSummary
Tell(object, IActorRef, string)public abstractAsynchronously delivers a message to this IActorRef in a non-blocking fashion. Uses "at most once" delivery semantics.
-

-

Go to namespaces or types or source-only packages

-

-

IActorRef.Name Property

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: IActorRef
-Sources: actor\IActorRef.cs

-

Name of the actor

-
public abstract string Name { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

IActorRef.Tell(object, IActorRef, string) Method

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Type: IActorRef
-Sources: actor\IActorRef.cs

-

Asynchronously delivers a message to this IActorRef in a non-blocking fashion. Uses "at most once" delivery semantics.

-
public abstract void Tell(object message, IActorRef sender, string routingKey = null)
-Method parameters
object message
The message to be sent to the target.
net.adamec.lib.common.actor.actor.IActorRef sender
The sender of this message. Defaults to Empty if left to null .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Receive Delegate

-

Namespace: net.adamec.lib.common.actor.actor
-Assembly: net.adamec.lib.common.actor
-Sources: actor\IActor.cs

-

Delegate describing the recipient target (method processing the messages)

-
public delegate bool Receive(Envelope envelope)
-

Return value

bool
Recipient's method processing the messages

-Delegate parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
-

Inheritance: object -> Delegate -> MulticastDelegate
-Implements: System.ICloneable, System.Runtime.Serialization.ISerializable

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.actor.exchanges.@base Namespace

-

Classes

- - - - - -
NameModifierSummary
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>public abstractExchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.
SubscriptionpublicBase exchange actor subscription
SubscriptionMessagepublicBase exchange actor subscription messages
UnSubscriptionMessagepublicBase exchange actor un-subscription message
-

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage> Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions.

-
public abstract class ExchangeActor<TSubscription, TSubscriptionMessage, TUnSubscriptionMessage> : Actor
- where TSubscription: Subscription
- where TSubscriptionMessage: SubscriptionMessage
- where TUnSubscriptionMessage: UnSubscriptionMessage
-Type parameters
TSubscription
Type of the subscription
TSubscriptionMessage
Type of the subscription message
TUnSubscriptionMessage
Type of the unSubscription message
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Properties

- - -
NameModifierSummary
SubscriptionsprotectedList of subscriptions
-

-

Constructors

- - -
NameModifierSummary
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string)protectedCTOR
-

-

Methods

- - - - - - - - - - - -
NameModifierSummary
DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription)protectedDistributes the message according to single subscription
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope
IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor)
Receive(Envelope)protectedMessage handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers
ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protectedChecks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled).
Start()publicStarts the exchange actor
Stop()publicStops the exchange actor
Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protectedProcesses the subscription message It first checks, whether the new subscription replaces any existing subscription by calling ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) . If the returned list is not empty, the replaces subscriptions are removed from the Subscriptions list. The SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) is called to create the new instance of subscription and the subscription is added to the Subscriptions list.
SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)protected abstractCreates a new subscription instance based on the subscriptionMessage
UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)protectedProcesses the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from Subscriptions list.
-

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscriptions Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

List of subscriptions

-
protected List<TSubscription> Subscriptions { get; }
-

Property value

List<TSubscription>

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

CTOR

-
protected ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Distributes the message according to single subscription

-
protected virtual void DistributeMessage(Envelope envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Subscriptions matching the message
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Returns the list of subscriptions that match the incoming envelope

-
protected virtual ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[] GetSubscriptionsForMessage(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of subscriptions that match the incoming envelope

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor)

-
protected virtual bool IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Receive(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers

-
protected override bool Receive(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
-

Return value

bool
True if the messages has been handled, otherwise false

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled).

-
protected virtual ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[] ReplaceOnSubscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of existing subscriptions to be removed from the Subscriptions list

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Start() Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Starts the exchange actor

-
public virtual void Start()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Stop() Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Stops the exchange actor

-
public virtual void Stop()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) . If the returned list is not empty, the replaces subscriptions are removed from the Subscriptions list. The SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) is called to create the new instance of subscription and the subscription is added to the Subscriptions list.

-
protected virtual void Subscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Creates a new subscription instance based on the subscriptionMessage

-
protected abstract ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription SubscriptionFactory(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription
Subscription instance

-

Go to namespaces or types or source-only packages

-

-

ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>
-Sources: actor\exchanges\base\ExchangeActor.cs

-

Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from Subscriptions list.

-
protected virtual void UnSubscribe(IActorRef actorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to unsubscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Subscription Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\base\Subscription.cs

-

Base exchange actor subscription

-
public class Subscription
-

Inheritance: object
-

-

Properties

- - -
NameModifierSummary
ActorRefpublicReference to subscribed actor
-

-

Constructors

- - -
NameModifierSummary
Subscription(IActorRef)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

Subscription.ActorRef Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: Subscription
-Sources: actor\exchanges\base\Subscription.cs

-

Reference to subscribed actor

-
public IActorRef ActorRef { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

Subscription.Subscription(IActorRef) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Type: Subscription
-Sources: actor\exchanges\base\Subscription.cs

-

CTOR

-
public Subscription(IActorRef actorRef)
-Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
-

Go to namespaces or types or source-only packages

-

-

SubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\base\SubscriptionMessage.cs

-

Base exchange actor subscription messages

-
public class SubscriptionMessage
-

Inheritance: object
-

-

Go to namespaces or types or source-only packages

-

-

UnSubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.@base
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\base\SubscriptionMessage.cs

-

Base exchange actor un-subscription message

-
public class UnSubscriptionMessage
-

Inheritance: object
-

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.actor.exchanges.single Namespace

-

Classes

- - -
NameModifierSummary
SingleExchangeActorpublicExchange Actor with zero or one subscriber
-

-

Go to namespaces or types or source-only packages

-

-

SingleExchangeActor Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\single\SingleExchangeActor.cs

-

Exchange Actor with zero or one subscriber

-
public class SingleExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Constructors

- - -
NameModifierSummary
SingleExchangeActor(IActorSystem, string)publicCTOR
-

-

Methods

- - - -
NameModifierSummary
ReplaceOnSubscribe(IActorRef, SubscriptionMessage)protectedRemoves all existing subscription when a new subscription message arrives.
SubscriptionFactory(IActorRef, SubscriptionMessage)protectedCreates a new Subscription instance for incoming subscriptionMessage
-

-

Go to namespaces or types or source-only packages

-

-

SingleExchangeActor.SingleExchangeActor(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
-Assembly: net.adamec.lib.common.actor
-Type: SingleExchangeActor
-Sources: actor\exchanges\single\SingleExchangeActor.cs

-

CTOR

-
public SingleExchangeActor(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
-

Go to namespaces or types or source-only packages

-

-

SingleExchangeActor.ReplaceOnSubscribe(IActorRef, SubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
-Assembly: net.adamec.lib.common.actor
-Type: SingleExchangeActor
-Sources: actor\exchanges\single\SingleExchangeActor.cs

-

Removes all existing subscription when a new subscription message arrives.

-
protected override Subscription[] ReplaceOnSubscribe(IActorRef actorRef, SubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.Subscription[]
List of all existing subscriptions

-

Go to namespaces or types or source-only packages

-

-

SingleExchangeActor.SubscriptionFactory(IActorRef, SubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.single
-Assembly: net.adamec.lib.common.actor
-Type: SingleExchangeActor
-Sources: actor\exchanges\single\SingleExchangeActor.cs

-

Creates a new Subscription instance for incoming subscriptionMessage

-
protected override Subscription SubscriptionFactory(IActorRef actorRef, SubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.@base.Subscription
Subscription instance

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.actor.exchanges.typed Namespace

-

Classes

- - - - - - - - - - -
NameModifierSummary
RoutingKeyExchangeActorpublicExchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match
RoutingKeySubscriptionpublicSubscription for exchanges that routes the messages based on their type and routing key
RoutingKeySubscriptionMessagepublicSubscription message for RoutingKeySubscription
RoutingKeyUnSubscriptionMessagepublicUnSubscription message for RoutingKeySubscription
TypedMultiExchangeActorpublicExchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children
TypedSingleExchangeActorpublicExchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children
TypedSubscriptionpublicSubscription for exchanges that routes the messages based on their type
TypedSubscriptionMessagepublicSubscription message for TypedSubscription
TypedUnSubscriptionMessagepublicUnSubscription message for TypedSubscription
-

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match

-
public class RoutingKeyExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Constructors

- - -
NameModifierSummary
RoutingKeyExchangeActor(IActorSystem, string)publicCTOR
-

-

Methods

- - - - - - -
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription
IsRoutingKeyMatch(string, string)protectedChecks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp)
IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage)protectedRemoves existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage)protectedCreates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage
-

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.RoutingKeyExchangeActor(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

CTOR

-
public RoutingKeyExchangeActor(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.GetSubscriptionsForMessage(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription

-
protected override RoutingKeySubscription[] GetSubscriptionsForMessage(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]
List of subscriptions that match the incoming envelope

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.IsRoutingKeyMatch(string, string) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp)

-
protected virtual bool IsRoutingKeyMatch(string subscriptionRoutingKey, string messageRoutingKey)
-Method parameters
string subscriptionRoutingKey
Subscription routing key
string messageRoutingKey
Message routing key
-

Return value

bool
True when the message routing key matches the subscription routing key, otherwise false

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

-
protected override bool IsUnSubscribeMatch(RoutingKeySubscription subscription, RoutingKeyUnSubscriptionMessage unSubscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.

-
protected override RoutingKeySubscription[] ReplaceOnSubscribe(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]
List of all existing subscriptions

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyExchangeActor.SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyExchangeActor
-Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs

-

Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage

-
protected override RoutingKeySubscription SubscriptionFactory(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription
Subscription instance

-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscription Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\RoutingKeySubscription.cs

-

Subscription for exchanges that routes the messages based on their type and routing key

-
public class RoutingKeySubscription : TypedSubscription
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.Subscription -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
-

-

Properties

- - -
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
-

-

Constructors

- - -
NameModifierSummary
RoutingKeySubscription(Type, string, IActorRef)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscription.RoutingKey Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeySubscription
-Sources: actor\exchanges\typed\RoutingKeySubscription.cs

-

Routing key filter (if null, matches all messages)

-
public string RoutingKey { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscription.RoutingKeySubscription(Type, string, IActorRef) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeySubscription
-Sources: actor\exchanges\typed\RoutingKeySubscription.cs

-

CTOR

-
public RoutingKeySubscription(Type messageType, string routingKey, IActorRef actorRef)
-Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

Subscription message for RoutingKeySubscription

-
public class RoutingKeySubscriptionMessage : TypedSubscriptionMessage
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage
-

-

Properties

- - -
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
-

-

Constructors

- - -
NameModifierSummary
RoutingKeySubscriptionMessage(Type, string)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscriptionMessage.RoutingKey Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeySubscriptionMessage
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

Routing key filter (if null, matches all messages)

-
public string RoutingKey { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

RoutingKeySubscriptionMessage.RoutingKeySubscriptionMessage(Type, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeySubscriptionMessage
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

CTOR

-
public RoutingKeySubscriptionMessage(Type messageType, string routingKey)
-Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
-

Go to namespaces or types or source-only packages

-

-

RoutingKeyUnSubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

UnSubscription message for RoutingKeySubscription

-
public class RoutingKeyUnSubscriptionMessage : TypedUnSubscriptionMessage
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage -> net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage
-

-

Properties

- - -
NameModifierSummary
RoutingKeypublicRouting key filter (if null, matches all messages)
-

-

Constructors

- - -
NameModifierSummary
RoutingKeyUnSubscriptionMessage(Type, string)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyUnSubscriptionMessage.RoutingKey Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyUnSubscriptionMessage
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

Routing key filter (if null, matches all messages)

-
public string RoutingKey { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

RoutingKeyUnSubscriptionMessage.RoutingKeyUnSubscriptionMessage(Type, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: RoutingKeyUnSubscriptionMessage
-Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs

-

CTOR

-
public RoutingKeyUnSubscriptionMessage(Type messageType, string routingKey)
-Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children

-
public class TypedMultiExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Constructors

- - -
NameModifierSummary
TypedMultiExchangeActor(IActorSystem, string)publicCTOR
-

-

Methods

- - - - - -
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children
IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)protectedRemoves existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, TypedSubscriptionMessage)protectedCreates a new TypedSubscription instance based on the subscriptionMessage
-

-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor.TypedMultiExchangeActor(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedMultiExchangeActor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

CTOR

-
public TypedMultiExchangeActor(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor.GetSubscriptionsForMessage(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedMultiExchangeActor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children

-
protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of subscriptions that match the incoming envelope

-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedMultiExchangeActor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

-
protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned

-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedMultiExchangeActor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives.

-
protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of all existing subscriptions

-

Go to namespaces or types or source-only packages

-

-

TypedMultiExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedMultiExchangeActor
-Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs

-

Creates a new TypedSubscription instance based on the subscriptionMessage

-
protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
Subscription instance

-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children

-
public class TypedSingleExchangeActor : ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable -> net.adamec.lib.common.actor.actor.Actor -> net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>
-Implements: IDisposable, net.adamec.lib.common.actor.actor.IActor

-

Constructors

- - -
NameModifierSummary
TypedSingleExchangeActor(IActorSystem, string)publicCTOR
-

-

Methods

- - - - - -
NameModifierSummary
GetSubscriptionsForMessage(Envelope)protectedReturns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type
IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)protectedChecks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type
ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)protectedRemoves existing subscriptions with the same "subscription type" when a new subscription message arrives.
SubscriptionFactory(IActorRef, TypedSubscriptionMessage)protectedCreates a new TypedSubscription instance based on the subscriptionMessage
-

-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor.TypedSingleExchangeActor(IActorSystem, string) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSingleExchangeActor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

CTOR

-
public TypedSingleExchangeActor(IActorSystem actorSystem, string name)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.IActorSystem actorSystem
Actor system
string name
Name of the exchange actor
-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor.GetSubscriptionsForMessage(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSingleExchangeActor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type

-
protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Incoming message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of subscriptions that match the incoming envelope

-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSingleExchangeActor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type

-
protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-

Return value

bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned

-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSingleExchangeActor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

Removes existing subscriptions with the same "subscription type" when a new subscription message arrives.

-
protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]
List of all existing subscriptions

-

Go to namespaces or types or source-only packages

-

-

TypedSingleExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSingleExchangeActor
-Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs

-

Creates a new TypedSubscription instance based on the subscriptionMessage

-
protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage subscriptionMessage
Subscription message
-

Return value

net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription
Subscription instance

-

Go to namespaces or types or source-only packages

-

-

TypedSubscription Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\TypedSubscription.cs

-

Subscription for exchanges that routes the messages based on their type

-
public class TypedSubscription : Subscription
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.Subscription
-

-

Properties

- - -
NameModifierSummary
MessageTypepublicSystem.Type of the message
-

-

Constructors

- - -
NameModifierSummary
TypedSubscription(Type, IActorRef)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

TypedSubscription.MessageType Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSubscription
-Sources: actor\exchanges\typed\TypedSubscription.cs

-

System.Type of the message

-
public Type MessageType { get; }
-

Property value

System.Type

-

Go to namespaces or types or source-only packages

-

-

TypedSubscription.TypedSubscription(Type, IActorRef) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSubscription
-Sources: actor\exchanges\typed\TypedSubscription.cs

-

CTOR

-
public TypedSubscription(Type messageType, IActorRef actorRef)
-Constructor parameters
System.Type messageType
System.Type of the message
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to subscribed actor
-

Go to namespaces or types or source-only packages

-

-

TypedSubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

Subscription message for TypedSubscription

-
public class TypedSubscriptionMessage : SubscriptionMessage
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage
-

-

Properties

- - -
NameModifierSummary
MessageTypepublicSystem.Type of the message
-

-

Constructors

- - -
NameModifierSummary
TypedSubscriptionMessage(Type)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

TypedSubscriptionMessage.MessageType Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSubscriptionMessage
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

System.Type of the message

-
public Type MessageType { get; }
-

Property value

System.Type

-

Go to namespaces or types or source-only packages

-

-

TypedSubscriptionMessage.TypedSubscriptionMessage(Type) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedSubscriptionMessage
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

CTOR

-
public TypedSubscriptionMessage(Type messageType)
-Constructor parameters
System.Type messageType
System.Type of the message
-

Go to namespaces or types or source-only packages

-

-

TypedUnSubscriptionMessage Class

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

UnSubscription message for TypedSubscription

-
public class TypedUnSubscriptionMessage : UnSubscriptionMessage
-

Inheritance: object -> net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage
-

-

Properties

- - -
NameModifierSummary
MessageTypepublicSystem.Type of the message
-

-

Constructors

- - -
NameModifierSummary
TypedUnSubscriptionMessage(Type)publicCTOR
-

-

Go to namespaces or types or source-only packages

-

-

TypedUnSubscriptionMessage.MessageType Property

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedUnSubscriptionMessage
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

System.Type of the message

-
public Type MessageType { get; }
-

Property value

System.Type

-

Go to namespaces or types or source-only packages

-

-

TypedUnSubscriptionMessage.TypedUnSubscriptionMessage(Type) Constructor

-

Namespace: net.adamec.lib.common.actor.actor.exchanges.typed
-Assembly: net.adamec.lib.common.actor
-Type: TypedUnSubscriptionMessage
-Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs

-

CTOR

-
public TypedUnSubscriptionMessage(Type messageType)
-Constructor parameters
System.Type messageType
System.Type of the message
-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.actorsystem Namespace

-

Classes

- - - - - -
NameModifierSummary
ActorSystempublicImplementation of actor system
ActorSystemDispatcherinternalMessage dispatched used by ActorSystem
ActorSystemOptionspublicUser defined configuration of ActorSystem
ScheduledMessageInfointernalScheduled message definition
-

-

Interfaces

- - -
NameModifierSummary
IActorSystempublic abstractThe Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.
-

-

Go to namespaces or types or source-only packages

-

-

ActorSystem Class

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Sources: actorsystem\ActorSystem.cs

-

Implementation of actor system

-
public class ActorSystem : BaseDisposable, IActorSystem
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
-Implements: IDisposable, net.adamec.lib.common.actor.actorsystem.IActorSystem

-

Fields

- - -
NameModifierSummary
Loggerprotected static
-

-

Properties

- - - - - - -
NameModifierSummary
ActorsByRefprivateDictionary of actors by actor reference
DeadLetterspublicProvides the access to dead letters queue
DispatcherprivateReference to dispatcher used by actor system
ErrorMessageQueuepublicProvides the access to error messages queue
OptionspublicReturns the reference to current ActorSystemOptions
-

-

Constructors

- - -
NameModifierSummary
ActorSystem(ActorSystemOptions)publicActorSystem constructor
-

-

Methods

- - - - - - - - - - - - - -
NameModifierSummary
Ask(IActorRef, object, Type, int, bool)publicSends a request message to recipient and waits for the response of required responseType .
Ask<T>(IActorRef, object, int, bool)publicSends a request message to recipient and waits for the response of type .
CancelScheduledMessage(string)publicCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)publicCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DeRegisterActor(IActorRef)publicDe-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception
DisposeManaged()protectedStops and disposes the Dispatcher
GetMailboxesWithMessages()internalReturns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed
RegisterActor(IActor, string)publicRegisters the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.
ScheduleMessage(IActorRef, IActorRef, DateTime, object)publicSchedule one-time message to be sent to recipient at given date and time
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)publicSchedule periodic message to be sent to recipient each period .
Start()publicStarts the message dispatcher (started by default within ActorSystem constructor)
Stop()publicStops the message dispatcher (can be restarted using Start() method)
-

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Logger Field

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-
protected static ILogger Logger
-

Field value

net.adamec.lib.common.logging.ILogger

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.ActorsByRef Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Dictionary of actors by actor reference

-
private ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor> ActorsByRef { get; }
-

Property value

System.Collections.Concurrent.ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor>

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.DeadLetters Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Provides the access to dead letters queue

-
public IMessageQueue DeadLetters { get; }
-

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Dispatcher Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Reference to dispatcher used by actor system

-
private ActorSystemDispatcher Dispatcher { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.ErrorMessageQueue Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Provides the access to error messages queue

-
public IMessageQueue ErrorMessageQueue { get; }
-

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Options Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Returns the reference to current ActorSystemOptions

-
public ActorSystemOptions Options { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.ActorSystem(ActorSystemOptions) Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

ActorSystem constructor

-
public ActorSystem(ActorSystemOptions options)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.ActorSystemOptions options
Actor system configuration options
-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Ask(IActorRef, object, Type, int, bool) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Sends a request message to recipient and waits for the response of required responseType .

-
public object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-

Return value

object
The "synchronous" response

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Ask<T>(IActorRef, object, int, bool) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Sends a request message to recipient and waits for the response of type .

-
public ActorSystem.T Ask<T>(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false)
-Type parameters
T
System.Type of the message to wait for
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-

Return value

net.adamec.lib.common.actor.actorsystem.ActorSystem.T
The "synchronous" response

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.CancelScheduledMessage(string) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

-
public bool CancelScheduledMessage(string id)
-Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-

Return value

bool
True if the message has been found and canceled, false when the message has not been found

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.CancelScheduledMessages(IActorRef, Type) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

-
public bool CancelScheduledMessages(IActorRef recipient, Type messageType)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-

Return value

bool
True if at least one message has been found and canceled, false when none has been found

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.DeRegisterActor(IActorRef) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception

-
public void DeRegisterActor(IActorRef actorRef)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to actor to be de-registered
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.DisposeManaged() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Stops and disposes the Dispatcher

-
protected override void DisposeManaged()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.GetMailboxesWithMessages() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed

-
internal List<net.adamec.lib.common.actor.actor.ActorRefInternal> GetMailboxesWithMessages()
-

Return value

List<net.adamec.lib.common.actor.actor.ActorRefInternal>
List of mailboxes(internal actor references) having the messages for processing

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.RegisterActor(IActor, string) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.

-
public IActorRef RegisterActor(IActor actor, string name)
-Method parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
-

Return value

net.adamec.lib.common.actor.actor.IActorRef
Actor reference to the registered actor

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Schedule one-time message to be sent to recipient at given date and time

-
public string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Schedule periodic message to be sent to recipient each period .

-
public string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Start() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Starts the message dispatcher (started by default within ActorSystem constructor)

-
public void Start()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystem.Stop() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystem
-Sources: actorsystem\ActorSystem.cs

-

Stops the message dispatcher (can be restarted using Start() method)

-
public void Stop()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher Class

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Message dispatched used by ActorSystem

-
internal class ActorSystemDispatcher : BaseDisposable
-

Inheritance: object -> net.adamec.lib.common.utils.BaseDisposable
-Implements: IDisposable

-

Fields

- - - - - -
NameModifierSummary
isActiveprivate
Loggerprotected static
MessageLoggerprotected staticMessage logger
scheduledMessagesLockprivate
-

-

Properties

- - - - - - -
NameModifierSummary
ActorSystemprivate
ExecutorThreadprivateDispatcher executor thread
IsActivepublicFlag whether the dispatcher is active (dispatching messages)
OptionsprotectedActor System options
ScheduledMessagesprivate
-

-

Constructors

- - -
NameModifierSummary
ActorSystemDispatcher(ActorSystem)publicInitialize dispatcher
-

-

Methods

- - - - - - - - - - - - -
NameModifierSummary
CancelScheduledMessage(string)internalCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)internalCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DisposeManaged()protectedStops the dispatched when disposing
Execute(object)privateMain dispatcher loop (runs within the ExecutorThread ) The loop is active while isActive is set to true, so setting isActive to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing
GetScheduledMessagesDue()privateGets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule
ProcessActorQueue(object)privateMain actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target
ScheduleMessage(IActorRef, IActorRef, DateTime, object)internalSchedule one-time message to be sent to recipient at given date and time Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)internalSchedule periodic message to be sent to recipient each period . Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages
ScheduleMessage(ScheduledMessageInfo)privateGet's the given ScheduledMessageInfo and adds it to internal list of scheduled messages.
Start()publicStarts the dispatcher Creates the executor thread and starts processing the messages
Stop()publicStops the dispatcher Finish current processing and "close" the executor thread
-

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.isActive Field

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-
private volatile bool isActive
-

Field value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.Logger Field

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-
protected static ILogger Logger
-

Field value

net.adamec.lib.common.logging.ILogger

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.MessageLogger Field

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Message logger

-
protected static ILogger MessageLogger
-

Field value

net.adamec.lib.common.logging.ILogger

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.scheduledMessagesLock Field

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-
private readonly object scheduledMessagesLock
-

Field value

object

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ActorSystem Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-
private ActorSystem ActorSystem { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystem

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ExecutorThread Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Dispatcher executor thread

-
private Thread ExecutorThread { get; set; }
-

Property value

System.Threading.Thread

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.IsActive Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Flag whether the dispatcher is active (dispatching messages)

-
public bool IsActive { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.Options Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Actor System options

-
protected ActorSystemOptions Options { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ScheduledMessages Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-
private List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo> ScheduledMessages { get; }
-

Property value

List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ActorSystemDispatcher(ActorSystem) Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Initialize dispatcher

-
public ActorSystemDispatcher(ActorSystem actorSystem)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.ActorSystem actorSystem
Actor System the dispatcher belongs to
-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.CancelScheduledMessage(string) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

-
internal bool CancelScheduledMessage(string id)
-Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-

Return value

bool
True if the message has been found and canceled, false when the message has not been found

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.CancelScheduledMessages(IActorRef, Type) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

-
internal bool CancelScheduledMessages(IActorRef recipient, Type messageType)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-

Return value

bool
True if at least one message has been found and canceled, false when none has been found

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.DisposeManaged() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Stops the dispatched when disposing

-
protected override void DisposeManaged()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.Execute(object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Main dispatcher loop (runs within the ExecutorThread ) The loop is active while isActive is set to true, so setting isActive to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing

-
private void Execute(object actorSystemObj)
-Method parameters
object actorSystemObj
Actor System
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.GetScheduledMessagesDue() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule

-
private IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo> GetScheduledMessagesDue()
-

Return value

IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
The list of scheduled messages that to be enqueued

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ProcessActorQueue(object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target

-
private void ProcessActorQueue(object actorRef)
-Method parameters
object actorRef
Actor to process
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Schedule one-time message to be sent to recipient at given date and time Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages

-
internal string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Schedule periodic message to be sent to recipient each period . Creates the ScheduledMessageInfo instance based on the parameters and let it add to the internal list of the scheduled messages

-
internal string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.ScheduleMessage(ScheduledMessageInfo) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Get's the given ScheduledMessageInfo and adds it to internal list of scheduled messages.

-
private void ScheduleMessage(ScheduledMessageInfo msg)
-Method parameters
net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo msg
Scheduled message description to be added to the internal list of scheduled messages.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.Start() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Starts the dispatcher Creates the executor thread and starts processing the messages

-
public void Start()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemDispatcher.Stop() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemDispatcher
-Sources: actorsystem\ActorSystemDispatcher.cs

-

Stops the dispatcher Finish current processing and "close" the executor thread

-
public void Stop()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions Class

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Sources: actorsystem\ActorSystemOptions.cs

-

User defined configuration of ActorSystem

-
public class ActorSystemOptions
-

Inheritance: object
-

-

Properties

- - - - - - -
NameModifierSummary
Defaultpublic staticReturns the default ActorSystemOptions
LogDispatchMessagespublicIf enabled, logs each message before dispatched to actor with DEBUG level (default false)
LogEnqueuedMessagespublicIf enabled, logs each enqueued message with DEBUG level (default false)
LogNotHandledMessagespublicIf enabled, logs each not handled message with WARN level (default false)
MaxDispatchMessagesInBatchpublicDefines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10)
-

-

Constructors

- - -
NameModifierSummary
ActorSystemOptions()private staticStatic CTOR - initialize default options instance
-

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.Default Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

Returns the default ActorSystemOptions

-
public static ActorSystemOptions Default { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.LogDispatchMessages Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

If enabled, logs each message before dispatched to actor with DEBUG level (default false)

-
public bool LogDispatchMessages { get; set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.LogEnqueuedMessages Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

If enabled, logs each enqueued message with DEBUG level (default false)

-
public bool LogEnqueuedMessages { get; set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.LogNotHandledMessages Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

If enabled, logs each not handled message with WARN level (default false)

-
public bool LogNotHandledMessages { get; set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.MaxDispatchMessagesInBatch Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10)

-
public int MaxDispatchMessagesInBatch { get; set; }
-

Property value

int

-

Go to namespaces or types or source-only packages

-

-

ActorSystemOptions.ActorSystemOptions() Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ActorSystemOptions
-Sources: actorsystem\ActorSystemOptions.cs

-

Static CTOR - initialize default options instance

-
private static ActorSystemOptions()
-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo Class

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Scheduled message definition

-
internal class ScheduledMessageInfo
-

Inheritance: object
-

-

Properties

- - - - - - - -
NameModifierSummary
IdinternalUnique ID of scheduled message
MessageinternalMessage to be (periodically) sent to the Recipient
NextFireinternalDate and Time after which the message is enqueued to the Recipient queue
PeriodinternalPeriod after which the message is periodically enqueued to the Recipient queue. Null for non-periodic messages
RecipientinternalRecipient of the message
SenderinternalOptional information about the sender, usually used by Recipient to respond to the Message
-

-

Constructors

- - - - -
NameModifierSummary
ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object)internalCTOR for one-time scheduled message info
ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object)internalCTOR for periodic scheduled message info
ScheduledMessageInfo(ScheduledMessageInfo)internalCTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID
-

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.Id Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Unique ID of scheduled message

-
internal string Id { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.Message Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Message to be (periodically) sent to the Recipient

-
internal object Message { get; }
-

Property value

object

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.NextFire Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Date and Time after which the message is enqueued to the Recipient queue

-
internal DateTime NextFire { get; }
-

Property value

DateTime

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.Period Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Period after which the message is periodically enqueued to the Recipient queue. Null for non-periodic messages

-
internal System.TimeSpan? Period { get; }
-

Property value

System.TimeSpan?

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.Recipient Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Recipient of the message

-
internal IActorRef Recipient { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.Sender Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

Optional information about the sender, usually used by Recipient to respond to the Message

-
internal IActorRef Sender { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object) Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

CTOR for one-time scheduled message info

-
internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
-Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object) Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

CTOR for periodic scheduled message info

-
internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
-Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-

Go to namespaces or types or source-only packages

-

-

ScheduledMessageInfo.ScheduledMessageInfo(ScheduledMessageInfo) Constructor

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: ScheduledMessageInfo
-Sources: actorsystem\ScheduledMessageInfo.cs

-

CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID

-
internal ScheduledMessageInfo(ScheduledMessageInfo existingPeriodicScheduledMessageInfo)
-Constructor parameters
net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo existingPeriodicScheduledMessageInfo
-

Go to namespaces or types or source-only packages

-

-

IActorSystem Interface

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Sources: actorsystem\IActorSystem.cs

-

The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging.

-
public interface IActorSystem
-

Properties

- - - - -
NameModifierSummary
DeadLetterspublic abstractProvides the access to dead letters queue
ErrorMessageQueuepublic abstractProvides the access to error messages queue
Optionspublic abstractReturns the reference to current ActorSystemOptions
-

-

Methods

- - - - - - - - - - - -
NameModifierSummary
Ask(IActorRef, object, Type, int, bool)public abstractSends a request message to recipient and waits for the response of required responseType .
Ask<T>(IActorRef, object, int, bool)public abstractSends a request message to recipient and waits for the response of type .
CancelScheduledMessage(string)public abstractCancels the scheduled message with given id - removes the message from list of the scheduled messages
CancelScheduledMessages(IActorRef, Type)public abstractCancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages
DeRegisterActor(IActorRef)public abstractDe-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception
RegisterActor(IActor, string)public abstractRegisters the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.
ScheduleMessage(IActorRef, IActorRef, DateTime, object)public abstractSchedule one-time message to be sent to recipient at given date and time
ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)public abstractSchedule periodic message to be sent to recipient each period .
Start()public abstractStarts the message dispatcher (started by default within ActorSystem constructor)
Stop()public abstractStops the message dispatcher (can be restarted using Start() method)
-

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.DeadLetters Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Provides the access to dead letters queue

-
public abstract IMessageQueue DeadLetters { get; }
-

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.ErrorMessageQueue Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Provides the access to error messages queue

-
public abstract IMessageQueue ErrorMessageQueue { get; }
-

Property value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.Options Property

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Returns the reference to current ActorSystemOptions

-
public abstract ActorSystemOptions Options { get; }
-

Property value

net.adamec.lib.common.actor.actorsystem.ActorSystemOptions

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.Ask(IActorRef, object, Type, int, bool) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Sends a request message to recipient and waits for the response of required responseType .

-
public abstract object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-

Return value

object
The "synchronous" response

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.Ask<T>(IActorRef, object, int, bool) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Sends a request message to recipient and waits for the response of type .

-
public abstract IActorSystem.T Ask<T>(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false)
-Type parameters
T
System.Type of the message to wait for
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-

Return value

net.adamec.lib.common.actor.actorsystem.IActorSystem.T
The "synchronous" response

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.CancelScheduledMessage(string) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Cancels the scheduled message with given id - removes the message from list of the scheduled messages

-
public abstract bool CancelScheduledMessage(string id)
-Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-

Return value

bool
True if the message has been found and canceled, false when the message has not been found

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.CancelScheduledMessages(IActorRef, Type) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages

-
public abstract bool CancelScheduledMessages(IActorRef recipient, Type messageType)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-

Return value

bool
True if at least one message has been found and canceled, false when none has been found

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.DeRegisterActor(IActorRef) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception

-
public abstract void DeRegisterActor(IActorRef actorRef)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef actorRef
Reference to actor to be de-registered
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.RegisterActor(IActor, string) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system.

-
public abstract IActorRef RegisterActor(IActor actor, string name)
-Method parameters
net.adamec.lib.common.actor.actor.IActor actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
-

Return value

net.adamec.lib.common.actor.actor.IActorRef
Actor reference to the registered actor

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Schedule one-time message to be sent to recipient at given date and time

-
public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Schedule periodic message to be sent to recipient each period .

-
public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Optional information about the sender, usually used by recipient to respond to the message
net.adamec.lib.common.actor.actor.IActorRef recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-

Return value

string
Unique ID of scheduled message

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.Start() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Starts the message dispatcher (started by default within ActorSystem constructor)

-
public abstract void Start()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

IActorSystem.Stop() Method

-

Namespace: net.adamec.lib.common.actor.actorsystem
-Assembly: net.adamec.lib.common.actor
-Type: IActorSystem
-Sources: actorsystem\IActorSystem.cs

-

Stops the message dispatcher (can be restarted using Start() method)

-
public abstract void Stop()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.message Namespace

-

Classes

- - - -
NameModifierSummary
EnvelopepublicMessage envelope
ErrorMessagepublicSpecialized Envelope for messages in ErrorMessageQueue
-

-

Go to namespaces or types or source-only packages

-

-

Envelope Class

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Sources: message\Envelope.cs

-

Message envelope

-
public class Envelope
-

Inheritance: object
-

-

Properties

- - - - - - - -
NameModifierSummary
CorrelationIdpublicCorrelation ID used to identify the message (envelope)
CreatedOnpublicTimestamp when the envelope has been created
MessagepublicMessage
RecipientpublicMessage recipient
RoutingKeypublicOptional routing key that can be used by actors (as "a parameter outside the message")
SenderpublicMessage sender
-

-

Constructors

- - - -
NameModifierSummary
Envelope(Envelope)protectedCTOR - creates the exact copy of original message including the CorrelationId and CreatedOn timestamp
Envelope(IActorRef, IActorRef, object, string)internalCTOR
-

-

Methods

- - - - -
NameModifierSummary
ForwardTo(IActorRef)publicForwards the message to another recipient. Keeps the original message, sender and routing key.
ForwardTo(IActorRef, string)publicForwards the message to another recipient. Keeps the original message and sender, but cleans/set the RoutingKey based on routingKey parameter.
ToString()public
-

-

Go to namespaces or types or source-only packages

-

-

Envelope.CorrelationId Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Correlation ID used to identify the message (envelope)

-
public string CorrelationId { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

Envelope.CreatedOn Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Timestamp when the envelope has been created

-
public DateTime CreatedOn { get; }
-

Property value

DateTime

-

Go to namespaces or types or source-only packages

-

-

Envelope.Message Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Message

-
public object Message { get; }
-

Property value

object

-

Go to namespaces or types or source-only packages

-

-

Envelope.Recipient Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Message recipient

-
public IActorRef Recipient { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

Envelope.RoutingKey Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Optional routing key that can be used by actors (as "a parameter outside the message")

-
public string RoutingKey { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

Envelope.Sender Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Message sender

-
public IActorRef Sender { get; }
-

Property value

net.adamec.lib.common.actor.actor.IActorRef

-

Go to namespaces or types or source-only packages

-

-

Envelope.Envelope(Envelope) Constructor

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

CTOR - creates the exact copy of original message including the CorrelationId and CreatedOn timestamp

-
protected Envelope(Envelope original)
-Constructor parameters
net.adamec.lib.common.actor.message.Envelope original
-

Go to namespaces or types or source-only packages

-

-

Envelope.Envelope(IActorRef, IActorRef, object, string) Constructor

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

CTOR

-
internal Envelope(IActorRef sender, IActorRef recipient, object message, string routingKey = null)
-Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Message sender
net.adamec.lib.common.actor.actor.IActorRef recipient
Message recipient
object message
Message (payload)
string routingKey
Optional routing key that can be used by actors (as "a parameter outside the message")
-

Go to namespaces or types or source-only packages

-

-

Envelope.ForwardTo(IActorRef) Method

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Forwards the message to another recipient. Keeps the original message, sender and routing key.

-
public virtual void ForwardTo(IActorRef recipient)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Target recipient
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Envelope.ForwardTo(IActorRef, string) Method

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-

Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the RoutingKey based on routingKey parameter.

-
public virtual void ForwardTo(IActorRef recipient, string routingKey)
-Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Target recipient
string routingKey
New RoutingKey , if not provided, the routing key will be cleaned up (set to null)!
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

Envelope.ToString() Method

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: Envelope
-Sources: message\Envelope.cs

-
[ExcludeFromCodeCoverage]
-public override string ToString()
-

Return value

string
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

-

Go to namespaces or types or source-only packages

-

-

ErrorMessage Class

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Sources: message\ErrorMessage.cs

-

Specialized Envelope for messages in ErrorMessageQueue

-
public class ErrorMessage : Envelope
-

Inheritance: object -> net.adamec.lib.common.actor.message.Envelope
-

-

Properties

- - - - -
NameModifierSummary
ErrorpublicError message
ErrorOnpublicTimestamp when the error envelope has been created
ExceptionpublicException thrown
-

-

Constructors

- - -
NameModifierSummary
ErrorMessage(Envelope, string, Exception)publicCTOR - creates the error message envelope based on given message envelope
-

-

Methods

- - -
NameModifierSummary
ToString()public
-

-

Go to namespaces or types or source-only packages

-

-

ErrorMessage.Error Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: ErrorMessage
-Sources: message\ErrorMessage.cs

-

Error message

-
public string Error { get; }
-

Property value

string

-

Go to namespaces or types or source-only packages

-

-

ErrorMessage.ErrorOn Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: ErrorMessage
-Sources: message\ErrorMessage.cs

-

Timestamp when the error envelope has been created

-
public DateTime ErrorOn { get; }
-

Property value

DateTime

-

Go to namespaces or types or source-only packages

-

-

ErrorMessage.Exception Property

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: ErrorMessage
-Sources: message\ErrorMessage.cs

-

Exception thrown

-
public Exception Exception { get; }
-

Property value

System.Exception

-

Go to namespaces or types or source-only packages

-

-

ErrorMessage.ErrorMessage(Envelope, string, Exception) Constructor

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: ErrorMessage
-Sources: message\ErrorMessage.cs

-

CTOR - creates the error message envelope based on given message envelope

-
public ErrorMessage(Envelope envelope, string error, Exception exception)
-Constructor parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope of message causing the error
string error
Error message
System.Exception exception
Exception thrown
-

Go to namespaces or types or source-only packages

-

-

ErrorMessage.ToString() Method

-

Namespace: net.adamec.lib.common.actor.message
-Assembly: net.adamec.lib.common.actor
-Type: ErrorMessage
-Sources: message\ErrorMessage.cs

-
[ExcludeFromCodeCoverage]
-public override string ToString()
-

Return value

string
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.actor.queue Namespace

-

Classes

- - - -
NameModifierSummary
InternalQueueinternalAn unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!
ManagedMessageQueuepublicMessage queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing
-

-

Interfaces

- - -
NameModifierSummary
IMessageQueuepublic abstract
-

-

Go to namespaces or types or source-only packages

-

-

InternalQueue Class

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Sources: queue\InternalQueue.cs

-

An unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!

-
internal class InternalQueue : IMessageQueue
-

Inheritance: object
-Implements: net.adamec.lib.common.actor.queue.IMessageQueue

-

Fields

- - -
NameModifierSummary
queueprivateInternal queue
-

-

Properties

- - - -
NameModifierSummary
CountpublicNumber of messages in the queue
HasMessagespublicFlag whether the queue contains any messages
-

-

Methods

- - - - - -
NameModifierSummary
CleanUp(IMessageQueue)publicCleans the queue, the messages are sent to deadletters queue
Copy()publicGets the messages stored in the queue. The messages in the array must not be modified!!!
Enqueue(Envelope)publicEnqueue a new message envelope
TryDequeue(Envelope)publicTries to dequeue a message from the queue
-

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.queue Field

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Internal queue

-
private readonly ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope> queue
-

Field value

System.Collections.Concurrent.ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope>

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.Count Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Number of messages in the queue

-
public int Count { get; }
-

Property value

int

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.HasMessages Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Flag whether the queue contains any messages

-
public bool HasMessages { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.CleanUp(IMessageQueue) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Cleans the queue, the messages are sent to deadletters queue

-
[ExcludeFromCodeCoverage]
-public void CleanUp(IMessageQueue deadletters)
-Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
DeadLetters queue
-

Return value

void
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.Copy() Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Gets the messages stored in the queue. The messages in the array must not be modified!!!

-
[ExcludeFromCodeCoverage]
-public Envelope[] Copy()
-

Return value

net.adamec.lib.common.actor.message.Envelope[]
Messages stored in the queue. The messages in the array must not be modified!!!
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.Enqueue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Enqueue a new message envelope

-
public void Enqueue(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

InternalQueue.TryDequeue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: InternalQueue
-Sources: queue\InternalQueue.cs

-

Tries to dequeue a message from the queue

-
public bool TryDequeue(out Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope dequeued
-

Return value

bool
True if any message is returned in envelope

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue Class

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Sources: queue\ManagedMessageQueue.cs

-

Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing

-
public class ManagedMessageQueue : IMessageQueue
-

Inheritance: object
-Implements: net.adamec.lib.common.actor.queue.IMessageQueue

-

Fields

- - - -
NameModifierSummary
MessageQueueprotectedThe underlying InternalQueue .
prependBufferprivate
-

-

Properties

- - - -
NameModifierSummary
CountpublicReturns the number of messages in both the internal message queue and the prepend buffer.
HasMessagespublicReturns true if there are any messages inside the queue.
-

-

Constructors

- - -
NameModifierSummary
ManagedMessageQueue()publicCreates ManagedMessageQueue
-

-

Methods

- - - - - - -
NameModifierSummary
CleanUp(IMessageQueue)publicCleans the queue, the messages are sent to deadletters queue
Copy()publicGets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Enqueue(Envelope)publicEnqueue a new message envelope
EnqueueFirst(Envelope)publicAdd a message to the front of the queue via the prepend buffer.
TryDequeue(Envelope)publicAttempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue
-

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.MessageQueue Field

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

The underlying InternalQueue .

-
protected readonly IMessageQueue MessageQueue
-

Field value

net.adamec.lib.common.actor.queue.IMessageQueue

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.prependBuffer Field

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-
private readonly Stack<net.adamec.lib.common.actor.message.Envelope> prependBuffer
-

Field value

Stack<net.adamec.lib.common.actor.message.Envelope>

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.Count Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Returns the number of messages in both the internal message queue and the prepend buffer.

-
public int Count { get; }
-

Property value

int

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.HasMessages Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Returns true if there are any messages inside the queue.

-
public bool HasMessages { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.ManagedMessageQueue() Constructor

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Creates ManagedMessageQueue

-
public ManagedMessageQueue()
-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.CleanUp(IMessageQueue) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Cleans the queue, the messages are sent to deadletters queue

-
public void CleanUp(IMessageQueue deadletters)
-Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
DeadLetters queue
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.Copy() Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!

-
[ExcludeFromCodeCoverage]
-public Envelope[] Copy()
-

Return value

net.adamec.lib.common.actor.message.Envelope[]
All queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.Enqueue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Enqueue a new message envelope

-
public void Enqueue(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.EnqueueFirst(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Add a message to the front of the queue via the prepend buffer.

-
public void EnqueueFirst(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The message we wish to append to the front of the queue.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ManagedMessageQueue.TryDequeue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: ManagedMessageQueue
-Sources: queue\ManagedMessageQueue.cs

-

Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue

-
public bool TryDequeue(out Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The message to return, if any
-

Return value

bool
true if a message was available, false otherwise.

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue Interface

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Sources: queue\IMessageQueue.cs

-
public interface IMessageQueue
-

Properties

- - - -
NameModifierSummary
Countpublic abstractReturns the count of messages currently in the message queue
HasMessagespublic abstractTests if the message queue contains any messages
-

-

Methods

- - - - -
NameModifierSummary
CleanUp(IMessageQueue)public abstractCalled when the IActorRef this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue
Enqueue(Envelope)public abstractEnqueue an mailbox envelope onto the message queue
TryDequeue(Envelope)public abstractTries to pull an envelope of the message queue
-

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue.Count Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: IMessageQueue
-Sources: queue\IMessageQueue.cs

-

Returns the count of messages currently in the message queue

-
public abstract int Count { get; }
-

Property value

int

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue.HasMessages Property

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: IMessageQueue
-Sources: queue\IMessageQueue.cs

-

Tests if the message queue contains any messages

-
public abstract bool HasMessages { get; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue.CleanUp(IMessageQueue) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: IMessageQueue
-Sources: queue\IMessageQueue.cs

-

Called when the IActorRef this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue

-
public abstract void CleanUp(IMessageQueue deadletters)
-Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
The dead letters message queue.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue.Enqueue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: IMessageQueue
-Sources: queue\IMessageQueue.cs

-

Enqueue an mailbox envelope onto the message queue

-
public abstract void Enqueue(Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The envelope to enqueue
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

IMessageQueue.TryDequeue(Envelope) Method

-

Namespace: net.adamec.lib.common.actor.queue
-Assembly: net.adamec.lib.common.actor
-Type: IMessageQueue
-Sources: queue\IMessageQueue.cs

-

Tries to pull an envelope of the message queue

-
public abstract bool TryDequeue(out Envelope envelope)
-Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The envelope that was dequeued
-

Return value

bool
true if there's a message in the queue. false otherwise.

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.extensions Namespace

-

Classes

- - -
NameModifierSummary
TypeExtensionsinternal staticSystem.Type extensions
-

-

Go to namespaces or types or source-only packages

-

-

TypeExtensions Class

-

Namespace: net.adamec.lib.common.extensions
-Assembly: net.adamec.lib.common.actor
-Sources: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
-Source-only packages: RadCommons.extensions.TypeExtensions.DefaultValue

-

System.Type extensions

-
internal static class TypeExtensions
-

Inheritance: object
-

-

Methods

- - -
NameModifierSummary
GetDefaultValue(Type)public staticGets the default value of given type
-

-

Go to namespaces or types or source-only packages

-

-

TypeExtensions.GetDefaultValue(Type) Method

-

Namespace: net.adamec.lib.common.extensions
-Assembly: net.adamec.lib.common.actor
-Type: TypeExtensions
-Sources: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
-Source-only packages: RadCommons.extensions.TypeExtensions.DefaultValue

-

Gets the default value of given type

-
public static object GetDefaultValue(this Type type)
-Method parameters
System.Type type
-

Return value

object
Default value of given type . Null for non-value types, new instance for value types.

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.logging Namespace

-

Classes

- - - -
NameModifierSummary
CommonLoggingpublic staticILogger factory
LoggerExtensionsinternal staticILogger extensions
-

-

Interfaces

- - -
NameModifierSummary
ILoggerpublic abstractLogger interface - wrapper around the NLog.ILogger
-

-

Go to namespaces or types or source-only packages

-

-

CommonLogging Class

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

ILogger factory

-
public static class CommonLogging
-

Inheritance: object
-

-

Methods

- - - - -
NameModifierSummary
CreateLogger(string)public staticCreates the logger with given categoryName
CreateLogger(Type)public staticCreates the logger for given type. The name of the logger will be System.Type.FullName
CreateLogger<T>()public staticCreates the logger for given type. The name of the logger will be System.Type.FullName
-

-

Go to namespaces or types or source-only packages

-

-

CommonLogging.CreateLogger(string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: CommonLogging
-Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Creates the logger with given categoryName

-
public static ILogger CreateLogger(string categoryName)
-Method parameters
string categoryName
Name of the logger
-

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

-

Go to namespaces or types or source-only packages

-

-

CommonLogging.CreateLogger(Type) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: CommonLogging
-Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Creates the logger for given type. The name of the logger will be System.Type.FullName

-
public static ILogger CreateLogger(Type type)
-Method parameters
System.Type type
Type to create the logger for
-

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

-

Go to namespaces or types or source-only packages

-

-

CommonLogging.CreateLogger<T>() Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: CommonLogging
-Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Creates the logger for given type. The name of the logger will be System.Type.FullName

-
public static ILogger CreateLogger<T>()
-Type parameters
T
Type to create the logger for
-

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions Class

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

ILogger extensions

-
internal static class LoggerExtensions
-

Inheritance: object
-

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - -
NameModifierSummary
Debug(ILogger, Dictionary<string,object>, string)public staticWrites the diagnostic message at the Debug level.
Debug(ILogger, string, string)public staticWrites the diagnostic message at the Debug level.
Error(ILogger, Dictionary<string,object>, Exception, string)public staticWrites the diagnostic message at the Error level.
Error(ILogger, Dictionary<string,object>, string)public staticWrites the diagnostic message at the Error level.
Error(ILogger, string, Exception, string)public staticWrites the diagnostic message at the Error level.
Error(ILogger, string, string)public staticWrites the diagnostic message at the Error level.
Error<TException>(ILogger, string, Exception)public staticWrites the diagnostic message at the Error level. Creates and returns the exception of given type
Error<TException>(ILogger, string, string, Exception)public staticWrites the diagnostic message at the Error level. Creates and returns the exception of given type
Fatal(ILogger, Dictionary<string,object>, Exception, string)public staticWrites the diagnostic message at the Fatal level.
Fatal(ILogger, Dictionary<string,object>, string)public staticWrites the diagnostic message at the Fatal level.
Fatal(ILogger, string, Exception, string)public staticWrites the diagnostic message at the Fatal level.
Fatal(ILogger, string, string)public staticWrites the diagnostic message at the Fatal level.
Fatal<TException>(ILogger, string, Exception)public staticWrites the diagnostic message at the Fatal level. Creates and returns the exception of given type
Fatal<TException>(ILogger, string, string, Exception)public staticWrites the diagnostic message at the Fatal level. Creates and returns the exception of given type
Info(ILogger, Dictionary<string,object>, string)public staticWrites the diagnostic message at the Info level.
Info(ILogger, string, string)public staticWrites the diagnostic message at the Info level.
LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception)private staticWrites the item (message with optional event properties and exception) into the log
LogIt(ILogger, LogLevel, string, string, Exception)private staticWrites the item (message with optional exception) into the log
Warn(ILogger, Dictionary<string,object>, Exception, string)public staticWrites the diagnostic message at the Warn level.
Warn(ILogger, Dictionary<string,object>, string)public staticWrites the diagnostic message at the Warn level.
Warn(ILogger, string, Exception, string)public staticWrites the diagnostic message at the Warn level.
Warn(ILogger, string, string)public staticWrites the diagnostic message at the Warn level.
-

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Debug(ILogger, Dictionary<string,object>, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Debug level.

-
public static void Debug(this ILogger logger, Dictionary<string,object> eventProperties, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Debug(ILogger, string, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Debug level.

-
public static void Debug(this ILogger logger, string correlationId, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error(ILogger, Dictionary<string,object>, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level.

-
public static void Error(this ILogger logger, Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error(ILogger, Dictionary<string,object>, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level.

-
public static void Error(this ILogger logger, Dictionary<string,object> eventProperties, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error(ILogger, string, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level.

-
public static void Error(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error(ILogger, string, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level.

-
public static void Error(this ILogger logger, string correlationId, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error<TException>(ILogger, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level. Creates and returns the exception of given type

-
public static LoggerExtensions.TException Error<TException>(this ILogger logger, string message, Exception innerException = null) where TException: Exception
-Type parameters
TException
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string message
Log message.
System.Exception innerException
Exception to be logged
-

Return value

net.adamec.lib.common.logging.LoggerExtensions.TException

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Error<TException>(ILogger, string, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Error level. Creates and returns the exception of given type

-
public static LoggerExtensions.TException Error<TException>(this ILogger logger, string correlationId, string message, Exception innerException = null) where TException: Exception
-Type parameters
TException
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
-

Return value

net.adamec.lib.common.logging.LoggerExtensions.TException

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal(ILogger, Dictionary<string,object>, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level.

-
public static void Fatal(this ILogger logger, Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal(ILogger, Dictionary<string,object>, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level.

-
public static void Fatal(this ILogger logger, Dictionary<string,object> eventProperties, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal(ILogger, string, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level.

-
public static void Fatal(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal(ILogger, string, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level.

-
public static void Fatal(this ILogger logger, string correlationId, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal<TException>(ILogger, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type

-
public static LoggerExtensions.TException Fatal<TException>(this ILogger logger, string message, Exception innerException = null) where TException: Exception
-Type parameters
TException
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string message
Log message.
System.Exception innerException
Exception to be logged
-

Return value

net.adamec.lib.common.logging.LoggerExtensions.TException

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Fatal<TException>(ILogger, string, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type

-
public static LoggerExtensions.TException Fatal<TException>(this ILogger logger, string correlationId, string message, Exception innerException = null) where TException: Exception
-Type parameters
TException
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
-

Return value

net.adamec.lib.common.logging.LoggerExtensions.TException

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Info(ILogger, Dictionary<string,object>, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Info level.

-
public static void Info(this ILogger logger, Dictionary<string,object> eventProperties, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Info(ILogger, string, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Info level.

-
public static void Info(this ILogger logger, string correlationId, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the item (message with optional event properties and exception) into the log

-
private static void LogIt(ILogger logger, LogLevel level, Dictionary<string,object> eventProperties, [Localizable(false)] string message, Exception exception = null)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
NLog.LogLevel level
Dictionary<string,object> eventProperties
Event properties (null when no properties are provided)
string message
Log message
System.Exception exception
Optional exception to be logged
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.LogIt(ILogger, LogLevel, string, string, Exception) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the item (message with optional exception) into the log

-
private static void LogIt(ILogger logger, LogLevel level, string correlationId, [Localizable(false)] string message, Exception exception = null)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
NLog.LogLevel level
string correlationId
string message
Log message
System.Exception exception
Optional exception to be logged
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Warn(ILogger, Dictionary<string,object>, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Warn level.

-
public static void Warn(this ILogger logger, Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Warn(ILogger, Dictionary<string,object>, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Warn level.

-
public static void Warn(this ILogger logger, Dictionary<string,object> eventProperties, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Warn(ILogger, string, Exception, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Warn level.

-
public static void Warn(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

LoggerExtensions.Warn(ILogger, string, string) Method

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Type: LoggerExtensions
-Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Writes the diagnostic message at the Warn level.

-
public static void Warn(this ILogger logger, string correlationId, [Localizable(false)] string message)
-Method parameters
net.adamec.lib.common.logging.ILogger logger
Logger
string correlationId
Correlation ID
string message
Log message.
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

ILogger Interface

-

Namespace: net.adamec.lib.common.logging
-Assembly: net.adamec.lib.common.actor
-Sources: Packages\RadCommons.logging.CommonLogging\ILogger.cs
-Source-only packages: RadCommons.logging.CommonLogging

-

Logger interface - wrapper around the NLog.ILogger

-
public interface ILogger : ILogger
-

Implements: NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress

-

Go to namespaces or types or source-only packages

-

-

net.adamec.lib.common.utils Namespace

-

Classes

- - -
NameModifierSummary
BaseDisposablepublic abstractHelper class for implementation of System.IDisposable types
-

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable Class

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Helper class for implementation of System.IDisposable types

-
public abstract class BaseDisposable : IDisposable
-

Inheritance: object
-Implements: IDisposable

-

Properties

- - - - -
NameModifierSummary
DisposedpublicFlag whether the object is fully disposed
DisposedManagedpublicFlag whether the managed resources are disposed
DisposedNativepublicFlag whether the native resources are disposed
-

-

Destructor

- - -
NameModifierSummary
~BaseDisposable()protected
-

-

Methods

- - - - - -
NameModifierSummary
Dispose()publicDispose the object
Dispose(bool)protectedInternal implementation of dispose - free the managed and native resources using the respective methods
DisposeManaged()protectedDispose any disposable managed fields or properties.
DisposeNative()protectedDispose of COM objects, Handles, etc. Then set those objects to null.
-

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.Disposed Property

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Flag whether the object is fully disposed

-
public bool Disposed { get; private set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.DisposedManaged Property

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Flag whether the managed resources are disposed

-
public bool DisposedManaged { get; private set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.DisposedNative Property

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Flag whether the native resources are disposed

-
public bool DisposedNative { get; private set; }
-

Property value

bool

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.~BaseDisposable() Destructor

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-
 ~BaseDisposable()
-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.Dispose() Method

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Dispose the object

-
public void Dispose()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.Dispose(bool) Method

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Internal implementation of dispose - free the managed and native resources using the respective methods

-
protected virtual void Dispose(bool disposing)
-Method parameters
bool disposing
Flag whether the object is disposing (called from Dispose() method). False if called from destructor
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.DisposeManaged() Method

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Dispose any disposable managed fields or properties.

-
protected virtual void DisposeManaged()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

BaseDisposable.DisposeNative() Method

-

Namespace: net.adamec.lib.common.utils
-Assembly: net.adamec.lib.common.actor
-Type: BaseDisposable
-Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
-Source-only packages: RadCommons.utils.BaseDisposable

-

Dispose of COM objects, Handles, etc. Then set those objects to null.

-
protected virtual void DisposeNative()
-

Return value

void

-

Go to namespaces or types or source-only packages

-

-

RadCommons.extensions.TypeExtensions.DefaultValue Source only package

-

Tags: RadCommons
-Includes: None
-Declaring file: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs

-

Provides default value for types (Source only package).

-

Package members

TypeExtensions (Type)
System.Type extensions
GetDefaultValue(Type) (Method)
Gets the default value of given type

-

Sources

Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs

-

Go to namespaces or types or source-only packages

-

-

RadCommons.logging.CommonLogging Source only package

-

Tags: RadCommons RadCommons-Logging
-Includes: Folder
-Declaring file: Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs

-

RadCommons logging wrapper around NLog (Source only package).

-

References needed

NLog
ProxyFoo

-

Package members

CommonLogging (Type)
ILogger factory
CreateLogger(string) (Method)
Creates the logger with given categoryName
CreateLogger(Type) (Method)
Creates the logger for given type. The name of the logger will be System.Type.FullName
CreateLogger<T>() (Method)
Creates the logger for given type. The name of the logger will be System.Type.FullName
ILogger (Type)
Logger interface - wrapper around the NLog.ILogger
LoggerExtensions (Type)
ILogger extensions
Debug(ILogger, string, string) (Method)
Writes the diagnostic message at the Debug level.
Info(ILogger, string, string) (Method)
Writes the diagnostic message at the Info level.
Warn(ILogger, string, string) (Method)
Writes the diagnostic message at the Warn level.
Error(ILogger, string, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(ILogger, string, string) (Method)
Writes the diagnostic message at the Fatal level.
Warn(ILogger, string, Exception, string) (Method)
Writes the diagnostic message at the Warn level.
Error(ILogger, string, Exception, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(ILogger, string, Exception, string) (Method)
Writes the diagnostic message at the Fatal level.
Fatal<TException>(ILogger, string, Exception) (Method)
Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type
Fatal<TException>(ILogger, string, string, Exception) (Method)
Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type
Error<TException>(ILogger, string, Exception) (Method)
Writes the diagnostic message at the Error level. Creates and returns the exception of given type
Error<TException>(ILogger, string, string, Exception) (Method)
Writes the diagnostic message at the Error level. Creates and returns the exception of given type
Debug(ILogger, Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Debug level.
Info(ILogger, Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Info level.
Warn(ILogger, Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Warn level.
Error(ILogger, Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(ILogger, Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Fatal level.
Warn(ILogger, Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Warn level.
Error(ILogger, Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(ILogger, Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Fatal level.
LogIt(ILogger, LogLevel, string, string, Exception) (Method)
Writes the item (message with optional exception) into the log
LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception) (Method)
Writes the item (message with optional event properties and exception) into the log

-

Sources

Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs
Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
Packages\RadCommons.logging.CommonLogging\ILogger.cs
Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs

-

Go to namespaces or types or source-only packages

-

-

RadCommons.utils.BaseDisposable Source only package

-

Tags: RadCommons
-Includes: None
-Declaring file: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs

-

Helper class for implementation of IDisposable types (Source only package).

-

Package members

BaseDisposable (Type)
Helper class for implementation of System.IDisposable types
Disposed (Property)
Flag whether the object is fully disposed
DisposedManaged (Property)
Flag whether the managed resources are disposed
DisposedNative (Property)
Flag whether the native resources are disposed
Dispose() (Method)
Dispose the object
Dispose(bool) (Method)
Internal implementation of dispose - free the managed and native resources using the respective methods
DisposeManaged() (Method)
Dispose any disposable managed fields or properties.
DisposeNative() (Method)
Dispose of COM objects, Handles, etc. Then set those objects to null.
~BaseDisposable() (Method)

-

Sources

ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs

-

Go to namespaces or types or source-only packages

-

diff --git a/doc/net.adamec.lib.common.actor.md b/doc/net.adamec.lib.common.actor.md index fc40f67..1b6c136 100644 --- a/doc/net.adamec.lib.common.actor.md +++ b/doc/net.adamec.lib.common.actor.md @@ -1,62 +1,62 @@ -# Documentation # +# RAD Actor System Documentation # ## Namespaces ## | Name | Summary | | ------ | --------- | - | [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) | | - | [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) | | - | [net.adamec.lib.common.actor.actor.exchanges.single](#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) | | - | [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) | | - | [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) | | - | [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) | | - | [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) | | - | [net.adamec.lib.common.extensions](#n-net.adamec.lib.common.extensions__1vwuhoq) | | - | [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) | | - | [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) | | + | [net.adamec.lib.common.actor.actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#n-net.adamec.lib.common.actor.actor__1ldg5ba) | | + | [net.adamec.lib.common.actor.actor.exchanges.@base](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) | | + | [net.adamec.lib.common.actor.actor.exchanges.single](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) | | + | [net.adamec.lib.common.actor.actor.exchanges.typed](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) | | + | [net.adamec.lib.common.actor.actorsystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) | | + | [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) | | + | [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) | | + | [net.adamec.lib.common.extensions](net.adamec.lib.common.extensions__1vwuhoq.md#n-net.adamec.lib.common.extensions__1vwuhoq) | | + | [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) | | + | [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) | | ## Types ## | Name | Modifier | Kind | Summary | | ------ | ---------- | ------ | --------- | - | [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) | public abstract | Class | Reference implementation of [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. | - | [ActorRefEmpty](#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) | public | Class | Reference to empty virtual actor | - | [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) | internal | Class | Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor | - | [ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) | public abstract | Class | Base class for the virtual actors | - | [ActorRefs](#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) | public | Class | Common references to virtual actors | - | [ActorRefSystem](#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) | public | Class | Reference to system virtual actor | - | [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | public | Class | Implementation of actor system | - | [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) | internal | Class | Message dispatched used by [ActorSystem](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | - | [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | public | Class | User defined configuration of [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | - | [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) | public abstract | Class | Helper class for implementation of System.IDisposable types | - | [CommonLogging](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) | public static | Class | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory | - | [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) | public | Class | Message envelope | - | [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) | public | Class | Specialized [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | - | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) | public abstract | Class | Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. | - | [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) | internal | Class | An unbounded mailbox managed message queue used by [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! | - | [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) | internal static | Class | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions | - | [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | public | Class | Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing | - | [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) | public | Class | Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match | - | [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | public | Class | Subscription for exchanges that routes the messages based on their type and routing key | - | [RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) | public | Class | Subscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | - | [RoutingKeyUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) | public | Class | UnSubscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | - | [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) | internal | Class | Scheduled message definition | - | [SingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) | public | Class | Exchange Actor with zero or one subscriber | - | [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) | public | Class | Base exchange actor subscription | - | [SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) | public | Class | Base exchange actor subscription messages | - | [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) | internal | Class | Internal actor used in [Ask(IActorRef, object, Type, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern | - | [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) | public | Class | Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children | - | [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) | public | Class | Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children | - | [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | public | Class | Subscription for exchanges that routes the messages based on their type | - | [TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) | public | Class | Subscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | - | [TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) | public | Class | UnSubscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | - | [TypeExtensions](#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) | internal static | Class | System.Type extensions | - | [UnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) | public | Class | Base exchange actor un-subscription message | - | [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) | public abstract | Interface | Actor interface | - | [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) | public abstract | Interface | Reference to actor | - | [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) | public abstract | Interface | The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. | - | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) | public abstract | Interface | Logger interface - wrapper around the NLog.ILogger | - | [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) | public abstract | Interface | | - | [Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) | public | Delegate | Delegate describing the recipient target (method processing the messages) | + | [Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr) | public abstract | Class | Reference implementation of [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](net.adamec.lib.common.actor.actor__1ldg5ba.md#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. | + | [ActorRefEmpty](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) | public | Class | Reference to empty virtual actor | + | [ActorRefInternal](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) | internal | Class | Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor | + | [ActorRefNameOnly](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) | public abstract | Class | Base class for the virtual actors | + | [ActorRefs](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) | public | Class | Common references to virtual actors | + | [ActorRefSystem](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) | public | Class | Reference to system virtual actor | + | [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | public | Class | Implementation of actor system | + | [ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) | internal | Class | Message dispatched used by [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | + | [ActorSystemOptions](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | public | Class | User defined configuration of [ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | + | [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) | public abstract | Class | Helper class for implementation of System.IDisposable types | + | [CommonLogging](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) | internal static | Class | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory | + | [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) | public | Class | Message envelope | + | [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) | public | Class | Specialized [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | + | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) | public abstract | Class | Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. | + | [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) | internal | Class | An unbounded mailbox managed message queue used by [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! | + | [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) | internal | Class | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions | + | [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | public | Class | Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing | + | [RoutingKeyExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) | public | Class | Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match | + | [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | public | Class | Subscription for exchanges that routes the messages based on their type and routing key | + | [RoutingKeySubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) | public | Class | Subscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | + | [RoutingKeyUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) | public | Class | UnSubscription message for [RoutingKeySubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | + | [ScheduledMessageInfo](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) | internal | Class | Scheduled message definition | + | [SingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.single__6r83x4.md#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) | public | Class | Exchange Actor with zero or one subscriber | + | [Subscription](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) | public | Class | Base exchange actor subscription | + | [SubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) | public | Class | Base exchange actor subscription messages | + | [SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) | internal | Class | Internal actor used in [Ask(IActorRef, object, Type, int, bool)](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern | + | [TypedMultiExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) | public | Class | Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children | + | [TypedSingleExchangeActor](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) | public | Class | Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children | + | [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | public | Class | Subscription for exchanges that routes the messages based on their type | + | [TypedSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) | public | Class | Subscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | + | [TypedUnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) | public | Class | UnSubscription message for [TypedSubscription](net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao.md#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | + | [TypeExtensions](net.adamec.lib.common.extensions__1vwuhoq.md#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) | internal static | Class | System.Type extensions | + | [UnSubscriptionMessage](net.adamec.lib.common.actor.actor.exchanges.@base__1g84l6h.md#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) | public | Class | Base exchange actor un-subscription message | + | [IActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) | public abstract | Interface | Actor interface | + | [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) | public abstract | Interface | Reference to actor | + | [IActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) | public abstract | Interface | The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. | + | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) | internal abstract | Interface | Logger interface - wrapper around the NLog.ILogger with some additional methods | + | [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) | public abstract | Interface | | + | [Receive](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) | public | Delegate | Delegate describing the recipient target (method processing the messages) | Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) @@ -68,7633 +68,9 @@ Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net | Name | Summary | | ------ | --------- | - | [RadCommons.extensions.TypeExtensions.DefaultValue](#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) | Provides default value for types (Source only package). | - | [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) | RadCommons logging wrapper around NLog (Source only package). | - | [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) | Helper class for implementation of IDisposable types (Source only package). | - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.actor Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) | public abstract | Reference implementation of [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. | - | [ActorRefEmpty](#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) | public | Reference to empty virtual actor | - | [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) | internal | Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor | - | [ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) | public abstract | Base class for the virtual actors | - | [ActorRefs](#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) | public | Common references to virtual actors | - | [ActorRefSystem](#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) | public | Reference to system virtual actor | - | [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) | internal | Internal actor used in [Ask(IActorRef, object, Type, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern | - - - - -### Interfaces ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) | public abstract | Actor interface | - | [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) | public abstract | Reference to actor | - - - - -### Delegates ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) | public | Delegate describing the recipient target (method processing the messages) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\Actor.cs - - -Reference implementation of [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) that can be simply inherited in own actors. It provides the automatic registration in constructor and de-registration while disposing. The actor reference is published via [Self](#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) property. - - - -```csharp -public abstract class Actor : BaseDisposable, IActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystem](#p-net.adamec.lib.common.actor.actor.actor.actorsystem__1g6mmur) | protected | Actor system | - | [CanReceive](#p-net.adamec.lib.common.actor.actor.actor.canreceive__19sq0hk) | public | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | - | [DropAllReceive](#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) | protected | Message handler that drops all messages and returns false (unhandled) | - | [ReceiveTarget](#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) | public | Current method processing the messages (to where the messages are dispatched to) | - | [Self](#p-net.adamec.lib.common.actor.actor.actor.self__1kgayjx) | public | Actor reference to self | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Actor(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.actor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___sft7zm) | protected | CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the [ReceiveTarget](#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) to [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Become(Receive)](#m-net.adamec.lib.common.actor.actor.actor.become_net.adamec.lib.common.actor.actor.receive___cfu8bb) | protected | Switches the actor behavior by setting the message handler . When the handler is not set, [DropAllReceive](#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) handler is used. | - | [BecomeDefault()](#m-net.adamec.lib.common.actor.actor.actor.becomedefault__gzylss) | protected | Switch the message handler to [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method | - | [DisposeManaged()](#m-net.adamec.lib.common.actor.actor.actor.disposemanaged__m3e4v4) | protected | De-registers the actor from actor system | - | [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) | protected | Default message handler. | - | [Unhandled(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.unhandled_net.adamec.lib.common.actor.message.envelope___1cb59zm) | protected | Helper for processing unhandled messages, returns false by default | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.ActorSystem Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Actor system - - - -```csharp -protected IActorSystem ActorSystem { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Actor.CanReceive Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) - - - -```csharp -public bool CanReceive { get; protected set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.DropAllReceive Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Message handler that drops all messages and returns false (unhandled) - - - -```csharp -protected Receive DropAllReceive { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Actor.ReceiveTarget Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Current method processing the messages (to where the messages are dispatched to) - - - -```csharp -public Receive ReceiveTarget { get; protected set; } -``` - -Property value
[net.adamec.lib.common.actor.actor.Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Actor.Self Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Actor reference to self - - - -```csharp -public IActorRef Self { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Actor.Actor(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -CTOR Registers the actor into actorSystem using given name Enables the message processing of the actor and sets the [ReceiveTarget](#p-net.adamec.lib.common.actor.actor.actor.receivetarget__rq6a5r) to [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method - - - -```csharp -protected Actor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Actor name
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.Become(Receive) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Switches the actor behavior by setting the message handler . When the handler is not set, [DropAllReceive](#p-net.adamec.lib.common.actor.actor.actor.dropallreceive__1g3skf2) handler is used. - - - -```csharp -protected virtual void Become(Receive handler) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn) handler
New message handler
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.BecomeDefault() Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Switch the message handler to [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.receive_net.adamec.lib.common.actor.message.envelope___lic5c4) method - - - -```csharp -protected virtual void BecomeDefault() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.DisposeManaged() Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -De-registers the actor from actor system - - - -```csharp -protected override void DisposeManaged() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.Receive(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Default message handler. - - - -```csharp -protected virtual bool Receive(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope with incoming message
-Return value
bool
True if handled, false if not handled. The default implementation calls [Unhandled(Envelope)](#m-net.adamec.lib.common.actor.actor.actor.unhandled_net.adamec.lib.common.actor.message.envelope___1cb59zm) method that returns false
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Actor.Unhandled(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Sources: actor\Actor.cs - - -Helper for processing unhandled messages, returns false by default - - - -```csharp -protected virtual bool Unhandled(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope with incoming message
-Return value
bool
Should return false for unhandled messages and true if message has been finally handled here
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefEmpty Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActorRef.cs - - -Reference to empty virtual actor - - - -```csharp -public class ActorRefEmpty : ActorRefNameOnly -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) -Implements: [net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Name](#p-net.adamec.lib.common.actor.actor.actorrefempty.name__175l78m) | public | Name of the actor - [EMPTY] | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefEmpty.Name Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefEmpty](#t-net.adamec.lib.common.actor.actor.actorrefempty__c8py9n) -Sources: actor\IActorRef.cs - - -Name of the actor - [EMPTY] - - - -```csharp -public override string Name { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\ActorRefInternal.cs - - -Internal implementation of actor reference. Encapsulates the mailbox (queue) for the actor - - - -```csharp -internal class ActorRefInternal : IActorRef -``` - -Inheritance: object -Implements: [net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) - - -### Fields ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [actorSystem](#f-net.adamec.lib.common.actor.actor.actorrefinternal.actorsystem__vswqpr) | private | Actor systems | - | [isBeingProcessed](#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) | private | Flag whether the actor (mailbox) is being processed | - | [isBeingProcessedLock](#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessedlock__1p7p9sp) | private | Log used for [isBeingProcessed](#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) flag ensuring the thread safe operations | - | [MessageLogger](#f-net.adamec.lib.common.actor.actor.actorrefinternal.messagelogger__1vqsaru) | protected static | | - - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Actor](#p-net.adamec.lib.common.actor.actor.actorrefinternal.actor__10pf4r2) | internal | Actor the reference belongs to | - | [IsBeingProcessed](#p-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__1cq6t5g) | internal | Flag whether the actor (mailbox) is being processed | - | [Name](#p-net.adamec.lib.common.actor.actor.actorrefinternal.name__1uhi1my) | public | Name of the actor | - | [Queue](#p-net.adamec.lib.common.actor.actor.actorrefinternal.queue__2gyn6w) | internal | Actor's mailbox (message queue) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorRefInternal(IActor, string, IActorSystem)](#m-net.adamec.lib.common.actor.actor.actorrefinternal.-ctor_net.adamec.lib.common.actor.actor.iactor-system.string-net.adamec.lib.common.actor.actorsystem.iactorsystem___8db4dq) | internal | CTOR Creates the mailbox (queue) for the actor | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [LockForProcessing()](#m-net.adamec.lib.common.actor.actor.actorrefinternal.lockforprocessing__i64cop) | internal | Locks the actor for message processing | - | [ProcessingFinished()](#m-net.adamec.lib.common.actor.actor.actorrefinternal.processingfinished__cj3e9v) | internal | Unlocks the actor for message processing | - | [Tell(object, IActorRef, string)](#m-net.adamec.lib.common.actor.actor.actorrefinternal.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___ggyubr) | public | Asynchronously delivers a message actor's mailbox in a non-blocking fashion. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.actorSystem Field ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Actor systems - - - -```csharp -private readonly IActorSystem actorSystem -``` - -Field value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefInternal.isBeingProcessed Field ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Flag whether the actor (mailbox) is being processed - - - -```csharp -private bool isBeingProcessed -``` - -Field value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.isBeingProcessedLock Field ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Log used for [isBeingProcessed](#f-net.adamec.lib.common.actor.actor.actorrefinternal.isbeingprocessed__15vnbvu) flag ensuring the thread safe operations - - - -```csharp -private readonly object isBeingProcessedLock -``` - -Field value
object
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.MessageLogger Field ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - - -```csharp -protected static ILogger MessageLogger -``` - -Field value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefInternal.Actor Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Actor the reference belongs to - - - -```csharp -internal IActor Actor { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefInternal.IsBeingProcessed Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Flag whether the actor (mailbox) is being processed - - - -```csharp -internal bool IsBeingProcessed { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.Name Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Name of the actor - - - -```csharp -public string Name { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.Queue Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Actor's mailbox (message queue) - - - -```csharp -internal IMessageQueue Queue { get; } -``` - -Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefInternal.ActorRefInternal(IActor, string, IActorSystem) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -CTOR Creates the mailbox (queue) for the actor - - - -```csharp -internal ActorRefInternal(IActor actor, string name, IActorSystem actorSystem) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor
string name
Name of the actor
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.LockForProcessing() Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Locks the actor for message processing - - - -```csharp -internal void LockForProcessing() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.ProcessingFinished() Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Unlocks the actor for message processing - - - -```csharp -internal void ProcessingFinished() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefInternal.Tell(object, IActorRef, string) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefInternal](#t-net.adamec.lib.common.actor.actor.actorrefinternal__1l1obal) -Sources: actor\ActorRefInternal.cs - - -Asynchronously delivers a message actor's mailbox in a non-blocking fashion. - - - -```csharp -public void Tell(object message, IActorRef sender, string routingKey = null) -``` - -Method parameters
object message
The message to be sent to the actor.
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
The sender of this message. Defaults to [Empty](#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) if left to `null` .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefNameOnly Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActorRef.cs - - -Base class for the virtual actors - - - -```csharp -public abstract class ActorRefNameOnly : IActorRef -``` - -Inheritance: object -Implements: [net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Name](#p-net.adamec.lib.common.actor.actor.actorrefnameonly.name__qk183e) | public abstract | Name of the actor | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Tell(object, IActorRef, string)](#m-net.adamec.lib.common.actor.actor.actorrefnameonly.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___rh50yb) | public | Empty implementation of the [Tell(object, IActorRef, string)](#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) for the virtual actors | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefNameOnly.Name Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) -Sources: actor\IActorRef.cs - - -Name of the actor - - - -```csharp -public abstract string Name { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefNameOnly.Tell(object, IActorRef, string) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) -Sources: actor\IActorRef.cs - - -Empty implementation of the [Tell(object, IActorRef, string)](#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) for the virtual actors - - - -```csharp -public void Tell(object message, IActorRef sender, string routingKey = null) -``` - -Method parameters
object message
Ignored
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Ignored
string routingKey
Ignored
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefs Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActorRef.cs - - -Common references to virtual actors - - - -```csharp -public class ActorRefs -``` - -Inheritance: object - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Empty](#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) | public static | Empty actor (means no real actor defined) | - | [System](#p-net.adamec.lib.common.actor.actor.actorrefs.system__1y8lt0o) | public static | System actor (to be used internally if needed) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorRefs()](#m-net.adamec.lib.common.actor.actor.actorrefs.-cctor__1qfbqdk) | private static | Static CTOR - Creates the static references | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefs.Empty Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefs](#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) -Sources: actor\IActorRef.cs - - -Empty actor (means no real actor defined) - - - -```csharp -public static IActorRef Empty { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefs.System Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefs](#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) -Sources: actor\IActorRef.cs - - -System actor (to be used internally if needed) - - - -```csharp -public static IActorRef System { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorRefs.ActorRefs() Constructor ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefs](#t-net.adamec.lib.common.actor.actor.actorrefs__17fr5vh) -Sources: actor\IActorRef.cs - - -Static CTOR - Creates the static references - - - -```csharp -private static ActorRefs() -``` - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefSystem Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActorRef.cs - - -Reference to system virtual actor - - - -```csharp -public class ActorRefSystem : ActorRefNameOnly -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.ActorRefNameOnly](#t-net.adamec.lib.common.actor.actor.actorrefnameonly__eu2rbh) -Implements: [net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Name](#p-net.adamec.lib.common.actor.actor.actorrefsystem.name__q7wot2) | public | Name of the actor - [SYSTEM] | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorRefSystem.Name Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [ActorRefSystem](#t-net.adamec.lib.common.actor.actor.actorrefsystem__43zotr) -Sources: actor\IActorRef.cs - - -Name of the actor - [SYSTEM] - - - -```csharp -public override string Name { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor Class ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\SyncActor.cs - - -Internal actor used in [Ask(IActorRef, object, Type, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) methods to implement Request-Reply pattern - - - -```csharp -internal class SyncActor : BaseDisposable, IActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystem](#p-net.adamec.lib.common.actor.actor.syncactor.actorsystem__1jy3biw) | private | | - | [CanReceive](#p-net.adamec.lib.common.actor.actor.syncactor.canreceive__37hi1h) | public | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | - | [ReceiveTarget](#p-net.adamec.lib.common.actor.actor.syncactor.receivetarget__fqhb9w) | public | Current method processing the messages (to where the messages are dispatched to) | - | [Response](#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) | public | Response message envelope | - | [ResponseType](#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) | public | Expected response type | - | [Self](#p-net.adamec.lib.common.actor.actor.syncactor.self__7tb7a6) | public | Actor reference to self | - | [WaitHandle](#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) | public | Wait handle used to signal that the response has arrived | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [SyncActor(IActorSystem, Type, AutoResetEvent)](#m-net.adamec.lib.common.actor.actor.syncactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.type-system.threading.autoresetevent___2ekqnh) | public | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [DisposeManaged()](#m-net.adamec.lib.common.actor.actor.syncactor.disposemanaged__1ldukpd) | protected | Deregisters itself from actor system | - | [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.syncactor.receive_net.adamec.lib.common.actor.message.envelope___1adxu0d) | protected | Message handler - waits for the message of required [ResponseType](#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) and when arrived, the message envelope is set to [Response](#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) and the [WaitHandle](#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) is set to signal the blocked "parent" thread that the response has been received. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.ActorSystem Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - - -```csharp -private IActorSystem ActorSystem { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SyncActor.CanReceive Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) - - - -```csharp -public bool CanReceive { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.ReceiveTarget Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Current method processing the messages (to where the messages are dispatched to) - - - -```csharp -public Receive ReceiveTarget { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SyncActor.Response Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Response message envelope - - - -```csharp -public Envelope Response { get; private set; } -``` - -Property value
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SyncActor.ResponseType Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Expected response type - - - -```csharp -public Type ResponseType { get; } -``` - -Property value
System.Type
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.Self Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Actor reference to self - - - -```csharp -public IActorRef Self { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SyncActor.WaitHandle Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Wait handle used to signal that the response has arrived - - - -```csharp -public AutoResetEvent WaitHandle { get; } -``` - -Property value
System.Threading.AutoResetEvent
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.SyncActor(IActorSystem, Type, AutoResetEvent) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -CTOR - - - -```csharp -public SyncActor(IActorSystem actorSystem, Type responseType, AutoResetEvent waitHandle) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
System.Type responseType
Expected type of the response
System.Threading.AutoResetEvent waitHandle
Wait handle used to signal that the response has arrived
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.DisposeManaged() Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Deregisters itself from actor system - - - -```csharp -protected override void DisposeManaged() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SyncActor.Receive(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [SyncActor](#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) -Sources: actor\SyncActor.cs - - -Message handler - waits for the message of required [ResponseType](#p-net.adamec.lib.common.actor.actor.syncactor.responsetype__13oqz9h) and when arrived, the message envelope is set to [Response](#p-net.adamec.lib.common.actor.actor.syncactor.response__1nj5lt1) and the [WaitHandle](#p-net.adamec.lib.common.actor.actor.syncactor.waithandle__8yoz6j) is set to signal the blocked "parent" thread that the response has been received. - - - -```csharp -protected virtual bool Receive(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message envelope
-Return value
bool
True when message processed (handled) otherwise false
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActor Interface ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActor.cs - - -Actor interface - - - -```csharp -public interface IActor -``` - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CanReceive](#p-net.adamec.lib.common.actor.actor.iactor.canreceive__f9x86f) | public abstract | Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) | - | [ReceiveTarget](#p-net.adamec.lib.common.actor.actor.iactor.receivetarget__n44wdg) | public abstract | Current method processing the messages (to where the messages are dispatched to) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActor.CanReceive Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) -Sources: actor\IActor.cs - - -Returns true if the actor can receive messages. If false, the messages will not be dispatched to the actor (they will still be enqueued to actor's mailbox) - - - -```csharp -public abstract bool CanReceive { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActor.ReceiveTarget Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) -Sources: actor\IActor.cs - - -Current method processing the messages (to where the messages are dispatched to) - - - -```csharp -public abstract Receive ReceiveTarget { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.Receive](#t-net.adamec.lib.common.actor.actor.receive__1adwyjn)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
IActorRef Interface ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActorRef.cs - - -Reference to actor - - - -```csharp -public interface IActorRef -``` - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Name](#p-net.adamec.lib.common.actor.actor.iactorref.name__1ukc8z4) | public abstract | Name of the actor | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Tell(object, IActorRef, string)](#m-net.adamec.lib.common.actor.actor.iactorref.tell_system.object-net.adamec.lib.common.actor.actor.iactorref-system.string___1xlz161) | public abstract | Asynchronously delivers a message to this [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) in a non-blocking fashion. Uses "at most once" delivery semantics. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorRef.Name Property ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) -Sources: actor\IActorRef.cs - - -Name of the actor - - - -```csharp -public abstract string Name { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorRef.Tell(object, IActorRef, string) Method ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Type: [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) -Sources: actor\IActorRef.cs - - -Asynchronously delivers a message to this [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) in a non-blocking fashion. Uses "at most once" delivery semantics. - - - -```csharp -public abstract void Tell(object message, IActorRef sender, string routingKey = null) -``` - -Method parameters
object message
The message to be sent to the target.
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
The sender of this message. Defaults to [Empty](#p-net.adamec.lib.common.actor.actor.actorrefs.empty__6f5cpu) if left to `null` .
string routingKey
Optional routing key - additional information that can be used for routing/processing the message
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Receive Delegate ## -Namespace: [net.adamec.lib.common.actor.actor](#n-net.adamec.lib.common.actor.actor__1ldg5ba) -Assembly: net.adamec.lib.common.actor -Sources: actor\IActor.cs - - -Delegate describing the recipient target (method processing the messages) - - - -```csharp -public delegate bool Receive(Envelope envelope) -``` - -Return value
bool
Recipient's method processing the messages
- - -Delegate parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
-Inheritance: object -> Delegate -> MulticastDelegate -Implements: System.ICloneable, System.Runtime.Serialization.ISerializable - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.actor.exchanges.@base Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) | public abstract | Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. | - | [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) | public | Base exchange actor subscription | - | [SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) | public | Base exchange actor subscription messages | - | [UnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) | public | Base exchange actor un-subscription message | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage> Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\base\ExchangeActor.cs - - -Exchange actor base class providing the common logic for implementation of exchanges - the actors routing the messages to another actors based on subscriptions. - - - -```csharp -public abstract class ExchangeActor : Actor - where TSubscription: Subscription - where TSubscriptionMessage: SubscriptionMessage - where TUnSubscriptionMessage: UnSubscriptionMessage -``` - -Type parameters
TSubscription
Type of the subscription
TSubscriptionMessage
Type of the subscription message
TUnSubscriptionMessage
Type of the unSubscription message
-Inheritance:
object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) | protected | List of subscriptions | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___x732m3) | protected | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.distributemessage_net.adamec.lib.common.actor.message.envelope--0___10o2gwi) | protected | Distributes the message according to single subscription | - | [GetSubscriptionsForMessage(Envelope)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1lba1kc) | protected | Returns the list of subscriptions that match the incoming envelope | - | [IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.isunsubscribematch_-0--2___87gny2) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) | - | [Receive(Envelope)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.receive_net.adamec.lib.common.actor.message.envelope___k7qhyb) | protected | Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers | - | [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) | protected | Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled). | - | [Start()](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.start__1sb73cd) | public | Starts the exchange actor | - | [Stop()](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.stop__1wazv35) | public | Stops the exchange actor | - | [Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscribe_net.adamec.lib.common.actor.actor.iactorref--1___ajhl0) | protected | Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) . If the returned list is not empty, the replaces subscriptions are removed from the [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. The [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) is called to create the new instance of subscription and the subscription is added to the [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. | - | [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) | protected abstract | Creates a new subscription instance based on the subscriptionMessage | - | [UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.unsubscribe_net.adamec.lib.common.actor.actor.iactorref--2___198es5m) | protected | Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscriptions Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -List of subscriptions - - - -```csharp -protected List Subscriptions { get; } -``` - -Property value
List<TSubscription>
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -CTOR - - - -```csharp -protected ExchangeActor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.DistributeMessage(Envelope, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Distributes the message according to single subscription - - - -```csharp -protected virtual void DistributeMessage(Envelope envelope, ExchangeActor.TSubscription subscription) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Subscriptions matching the message
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.GetSubscriptionsForMessage(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Returns the list of subscriptions that match the incoming envelope - - - -```csharp -protected virtual ExchangeActor.TSubscription[] GetSubscriptionsForMessage(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
-Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of subscriptions that match the incoming envelope
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.IsUnSubscribeMatch(ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) - - - -```csharp -protected virtual bool IsUnSubscribeMatch(ExchangeActor.TSubscription subscription, ExchangeActor.TUnSubscriptionMessage unSubscriptionMessage) -``` - -Method parameters
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription subscription
Existing subscription
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Receive(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Message handler The subscription/unsubscription messages are handled first, the other messages are matched to the existing subscriptions and distributed to matching subscribers - - - -```csharp -protected override bool Receive(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
-Return value
bool
True if the messages has been handled, otherwise false
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Checks for the list of existing subscriptions that are to be replaced by the new subscription defined in subscriptionMessage The new subscription can replace the existing subscriptions of other actors.There is no "signaling" to the actors, that their subscription has been replaced (canceled). - - - -```csharp -protected virtual ExchangeActor.TSubscription[] ReplaceOnSubscribe(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription[]
List of existing subscriptions to be removed from the [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Start() Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Starts the exchange actor - - - -```csharp -public virtual void Start() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Stop() Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Stops the exchange actor - - - -```csharp -public virtual void Stop() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.Subscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Processes the subscription message It first checks, whether the new subscription replaces any existing subscription by calling [ReplaceOnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref--1___16aaybh) . If the returned list is not empty, the replaces subscriptions are removed from the [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. The [SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref--1___hz2yob) is called to create the new instance of subscription and the subscription is added to the [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. - - - -```csharp -protected virtual void Subscribe(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.SubscriptionFactory(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Creates a new subscription instance based on the subscriptionMessage - - - -```csharp -protected abstract ExchangeActor.TSubscription SubscriptionFactory(IActorRef actorRef, ExchangeActor.TSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscriptionMessage subscriptionMessage
Subscription message
-Return value
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TSubscription
Subscription instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.UnSubscribe(IActorRef, ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Sources: actor\exchanges\base\ExchangeActor.cs - - -Processes the unsubscription message Checks the existing subscriptions of actorRef whether they match the unSubscriptionMessage and removes the matching ones from [Subscriptions](#p-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3.subscriptions__n0rnra) list. - - - -```csharp -protected virtual void UnSubscribe(IActorRef actorRef, ExchangeActor.TUnSubscriptionMessage unSubscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to unsubscribing actor
net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<TSubscription,TSubscriptionMessage,TUnSubscriptionMessage>.TUnSubscriptionMessage unSubscriptionMessage
UnSubscription message
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Subscription Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\base\Subscription.cs - - -Base exchange actor subscription - - - -```csharp -public class Subscription -``` - -Inheritance: object - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorRef](#p-net.adamec.lib.common.actor.actor.exchanges.base.subscription.actorref__4ba6je) | public | Reference to subscribed actor | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Subscription(IActorRef)](#m-net.adamec.lib.common.actor.actor.exchanges.base.subscription.-ctor_net.adamec.lib.common.actor.actor.iactorref___1vbtza6) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Subscription.ActorRef Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) -Sources: actor\exchanges\base\Subscription.cs - - -Reference to subscribed actor - - - -```csharp -public IActorRef ActorRef { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Subscription.Subscription(IActorRef) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Type: [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) -Sources: actor\exchanges\base\Subscription.cs - - -CTOR - - - -```csharp -public Subscription(IActorRef actorRef) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\base\SubscriptionMessage.cs - - -Base exchange actor subscription messages - - - -```csharp -public class SubscriptionMessage -``` - -Inheritance: object - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## UnSubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.@base](#n-net.adamec.lib.common.actor.actor.exchanges.base__1g84l6h) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\base\SubscriptionMessage.cs - - -Base exchange actor un-subscription message - - - -```csharp -public class UnSubscriptionMessage -``` - -Inheritance: object - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.actor.exchanges.single Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [SingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) | public | Exchange Actor with zero or one subscriber | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SingleExchangeActor Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\single\SingleExchangeActor.cs - - -Exchange Actor with zero or one subscriber - - - -```csharp -public class SingleExchangeActor : ExchangeActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.@base.Subscription,net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [SingleExchangeActor(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1090o6d) | public | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ReplaceOnSubscribe(IActorRef, SubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage___1t22f9h) | protected | Removes all existing subscription when a new subscription message arrives. | - | [SubscriptionFactory(IActorRef, SubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage___kht5cf) | protected | Creates a new [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) instance for incoming subscriptionMessage | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SingleExchangeActor.SingleExchangeActor(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) -Assembly: net.adamec.lib.common.actor -Type: [SingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) -Sources: actor\exchanges\single\SingleExchangeActor.cs - - -CTOR - - - -```csharp -public SingleExchangeActor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## SingleExchangeActor.ReplaceOnSubscribe(IActorRef, SubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) -Assembly: net.adamec.lib.common.actor -Type: [SingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) -Sources: actor\exchanges\single\SingleExchangeActor.cs - - -Removes all existing subscription when a new subscription message arrives. - - - -```csharp -protected override Subscription[] ReplaceOnSubscribe(IActorRef actorRef, SubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.@base.Subscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm)
List of all existing subscriptions
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
SingleExchangeActor.SubscriptionFactory(IActorRef, SubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.single](#n-net.adamec.lib.common.actor.actor.exchanges.single__6r83x4) -Assembly: net.adamec.lib.common.actor -Type: [SingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.single.singleexchangeactor__1q6rr7y) -Sources: actor\exchanges\single\SingleExchangeActor.cs - - -Creates a new [Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) instance for incoming subscriptionMessage - - - -```csharp -protected override Subscription SubscriptionFactory(IActorRef actorRef, SubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm)
Subscription instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
net.adamec.lib.common.actor.actor.exchanges.typed Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) | public | Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match | - | [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | public | Subscription for exchanges that routes the messages based on their type and routing key | - | [RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) | public | Subscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | - | [RoutingKeyUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) | public | UnSubscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) | - | [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) | public | Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children | - | [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) | public | Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children | - | [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | public | Subscription for exchanges that routes the messages based on their type | - | [TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) | public | Subscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | - | [TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) | public | UnSubscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyExchangeActor Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Exchange Actor with zero or more actors per message type with routing based also on routing key Subscriptions are per actor, type and routing key. Subscription filter gets the all subscriptions where message is instance of filter type or its children and the routing keys match - - - -```csharp -public class RoutingKeyExchangeActor : ExchangeActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKeyExchangeActor(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___17ryw0k) | public | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [GetSubscriptionsForMessage(Envelope)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1iabgbj) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription | - | [IsRoutingKeyMatch(string, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.isroutingkeymatch_system.string-system.string___102orov) | protected | Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp) | - | [IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage___1qyhqkr) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | - | [ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage___rj17km) | protected | Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. | - | [SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage___3ufphk) | protected | Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyExchangeActor.RoutingKeyExchangeActor(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -CTOR - - - -```csharp -public RoutingKeyExchangeActor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children and the routing key matches the subscription - - - -```csharp -protected override RoutingKeySubscription[] GetSubscriptionsForMessage(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
List of subscriptions that match the incoming envelope
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
RoutingKeyExchangeActor.IsRoutingKeyMatch(string, string) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Checks whether the message routing key matches the subscription routing key The default implementation is for the exact match, override this method for more complex matching (for example regexp) - - - -```csharp -protected virtual bool IsRoutingKeyMatch(string subscriptionRoutingKey, string messageRoutingKey) -``` - -Method parameters
string subscriptionRoutingKey
Subscription routing key
string messageRoutingKey
Message routing key
-Return value
bool
True when the message routing key matches the subscription routing key, otherwise false
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyExchangeActor.IsUnSubscribeMatch(RoutingKeySubscription, RoutingKeyUnSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type - - - -```csharp -protected override bool IsUnSubscribeMatch(RoutingKeySubscription subscription, RoutingKeyUnSubscriptionMessage unSubscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeyUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) unSubscriptionMessage
UnSubscription message
-Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyExchangeActor.ReplaceOnSubscribe(IActorRef, RoutingKeySubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. - - - -```csharp -protected override RoutingKeySubscription[] ReplaceOnSubscribe(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
List of all existing subscriptions
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
RoutingKeyExchangeActor.SubscriptionFactory(IActorRef, RoutingKeySubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyexchangeactor__1inw5x7) -Sources: actor\exchanges\typed\RoutingKeyExchangeActor.cs - - -Creates a new net.adamec.lib.common.actor.actor.exchanges.typed.TypedRoutingKeySubscription instance based on the subscriptionMessage - - - -```csharp -protected override RoutingKeySubscription SubscriptionFactory(IActorRef actorRef, RoutingKeySubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0)
Subscription instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
RoutingKeySubscription Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\RoutingKeySubscription.cs - - -Subscription for exchanges that routes the messages based on their type and routing key - - - -```csharp -public class RoutingKeySubscription : TypedSubscription -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKey](#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription.routingkey__a5qax5) | public | Routing key filter (if null, matches all messages) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKeySubscription(Type, string, IActorRef)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription.-ctor_system.type-system.string-net.adamec.lib.common.actor.actor.iactorref___15anvd7) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeySubscription.RoutingKey Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) -Sources: actor\exchanges\typed\RoutingKeySubscription.cs - - -Routing key filter (if null, matches all messages) - - - -```csharp -public string RoutingKey { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeySubscription.RoutingKeySubscription(Type, string, IActorRef) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) -Sources: actor\exchanges\typed\RoutingKeySubscription.cs - - -CTOR - - - -```csharp -public RoutingKeySubscription(Type messageType, string routingKey, IActorRef actorRef) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeySubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -Subscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) - - - -```csharp -public class RoutingKeySubscriptionMessage : TypedSubscriptionMessage -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKey](#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage.routingkey__qsyr8a) | public | Routing key filter (if null, matches all messages) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKeySubscriptionMessage(Type, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage.-ctor_system.type-system.string___bzfl4x) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeySubscriptionMessage.RoutingKey Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -Routing key filter (if null, matches all messages) - - - -```csharp -public string RoutingKey { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeySubscriptionMessage.RoutingKeySubscriptionMessage(Type, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeySubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscriptionmessage__1h3lr73) -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -CTOR - - - -```csharp -public RoutingKeySubscriptionMessage(Type messageType, string routingKey) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyUnSubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -UnSubscription message for [RoutingKeySubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeysubscription__1t32gw0) - - - -```csharp -public class RoutingKeyUnSubscriptionMessage : TypedUnSubscriptionMessage -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) -> [net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKey](#p-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage.routingkey__16ll9yd) | public | Routing key filter (if null, matches all messages) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [RoutingKeyUnSubscriptionMessage(Type, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage.-ctor_system.type-system.string___1eem2s) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyUnSubscriptionMessage.RoutingKey Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -Routing key filter (if null, matches all messages) - - - -```csharp -public string RoutingKey { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RoutingKeyUnSubscriptionMessage.RoutingKeyUnSubscriptionMessage(Type, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [RoutingKeyUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.routingkeyunsubscriptionmessage__emjdu2) -Sources: actor\exchanges\typed\RoutingKeySubscriptionMessage.cs - - -CTOR - - - -```csharp -public RoutingKeyUnSubscriptionMessage(Type messageType, string routingKey) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
string routingKey
Routing key filter (if null, matches all messages)
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedMultiExchangeActor Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -Exchange Actor with zero or more actors per message type Subscriptions are per actor and type. Subscription filter gets the all subscriptions where message is instance of filter type or its children - - - -```csharp -public class TypedMultiExchangeActor : ExchangeActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypedMultiExchangeActor(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1l0lpb0) | public | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [GetSubscriptionsForMessage(Envelope)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___9uu8op) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children | - | [IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage___kjj5nt) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | - | [ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___1wvem41) | protected | Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. | - | [SubscriptionFactory(IActorRef, TypedSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___10dtbmj) | protected | Creates a new [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedMultiExchangeActor.TypedMultiExchangeActor(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -CTOR - - - -```csharp -public TypedMultiExchangeActor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedMultiExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -Returns the list of subscriptions that match the incoming envelope The filter gets all matches where message is instance of filter type or its children - - - -```csharp -protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of subscriptions that match the incoming envelope
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedMultiExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type - - - -```csharp -protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) unSubscriptionMessage
UnSubscription message
-Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedMultiExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -Removes existing subscriptions for actorRef with the same "subscription type" when a new subscription message arrives. - - - -```csharp -protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of all existing subscriptions
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedMultiExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedMultiExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedmultiexchangeactor__1rgmwat) -Sources: actor\exchanges\typed\TypedMultiExchangeActor.cs - - -Creates a new [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage - - - -```csharp -protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
Subscription instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedSingleExchangeActor Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -Exchange Actor with zero or one actor per message type Subscriptions are per type. Subscription filter gets the exact type match and if not found, then first match where message is instance of filter type or its children - - - -```csharp -public class TypedSingleExchangeActor : ExchangeActor -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -> [net.adamec.lib.common.actor.actor.Actor](#t-net.adamec.lib.common.actor.actor.actor__buuxwr) -> [net.adamec.lib.common.actor.actor.exchanges.@base.ExchangeActor<net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription,net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage,net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage>](#t-net.adamec.lib.common.actor.actor.exchanges.base.exchangeactor-3__1p1cfiq) -Implements: IDisposable, [net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypedSingleExchangeActor(IActorSystem, string)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.-ctor_net.adamec.lib.common.actor.actorsystem.iactorsystem-system.string___1nv1jk7) | public | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [GetSubscriptionsForMessage(Envelope)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.getsubscriptionsformessage_net.adamec.lib.common.actor.message.envelope___1pc989c) | protected | Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type | - | [IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.isunsubscribematch_net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage___zk123g) | protected | Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type | - | [ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.replaceonsubscribe_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___azg7e0) | protected | Removes existing subscriptions with the same "subscription type" when a new subscription message arrives. | - | [SubscriptionFactory(IActorRef, TypedSubscriptionMessage)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor.subscriptionfactory_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage___1dxxz9k) | protected | Creates a new [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSingleExchangeActor.TypedSingleExchangeActor(IActorSystem, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -CTOR - - - -```csharp -public TypedSingleExchangeActor(IActorSystem actorSystem, string name) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) actorSystem
Actor system
string name
Name of the exchange actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSingleExchangeActor.GetSubscriptionsForMessage(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -Returns the list of subscriptions that match the incoming envelope The filter gets the exact type match and if not found, then first match where message is instance of filter type or its children Note: There can be only one subscription per message type - - - -```csharp -protected override TypedSubscription[] GetSubscriptionsForMessage(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Incoming message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of subscriptions that match the incoming envelope
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedSingleExchangeActor.IsUnSubscribeMatch(TypedSubscription, TypedUnSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -Checks whether the unSubscriptionMessage can unsubscribe the subscription (both related to the same actor) The match is when both subscription and unSubscriptionMessage use the same message type - - - -```csharp -protected override bool IsUnSubscribeMatch(TypedSubscription subscription, TypedUnSubscriptionMessage unSubscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) subscription
Existing subscription
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) unSubscriptionMessage
UnSubscription message
-Return value
bool
Returns true when the unSubscriptionMessage unsubscribes the subscription , otherwise false is returned
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSingleExchangeActor.ReplaceOnSubscribe(IActorRef, TypedSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -Removes existing subscriptions with the same "subscription type" when a new subscription message arrives. - - - -```csharp -protected override TypedSubscription[] ReplaceOnSubscribe(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription[]](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
List of all existing subscriptions
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedSingleExchangeActor.SubscriptionFactory(IActorRef, TypedSubscriptionMessage) Method ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSingleExchangeActor](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsingleexchangeactor__i752da) -Sources: actor\exchanges\typed\TypedSingleExchangeActor.cs - - -Creates a new [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) instance based on the subscriptionMessage - - - -```csharp -protected override TypedSubscription SubscriptionFactory(IActorRef actorRef, TypedSubscriptionMessage subscriptionMessage) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribing actor
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) subscriptionMessage
Subscription message
-Return value
[net.adamec.lib.common.actor.actor.exchanges.typed.TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b)
Subscription instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
TypedSubscription Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\TypedSubscription.cs - - -Subscription for exchanges that routes the messages based on their type - - - -```csharp -public class TypedSubscription : Subscription -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.Subscription](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscription__1q5jclm) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [MessageType](#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription.messagetype__1os7ees) | public | System.Type of the message | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypedSubscription(Type, IActorRef)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription.-ctor_system.type-net.adamec.lib.common.actor.actor.iactorref___vgut5o) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSubscription.MessageType Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) -Sources: actor\exchanges\typed\TypedSubscription.cs - - -System.Type of the message - - - -```csharp -public Type MessageType { get; } -``` - -Property value
System.Type
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSubscription.TypedSubscription(Type, IActorRef) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) -Sources: actor\exchanges\typed\TypedSubscription.cs - - -CTOR - - - -```csharp -public TypedSubscription(Type messageType, IActorRef actorRef) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to subscribed actor
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -Subscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) - - - -```csharp -public class TypedSubscriptionMessage : SubscriptionMessage -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.SubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.subscriptionmessage__1d4egm1) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [MessageType](#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage.messagetype__kfnrfx) | public | System.Type of the message | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypedSubscriptionMessage(Type)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage.-ctor_system.type___6y7fn4) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSubscriptionMessage.MessageType Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -System.Type of the message - - - -```csharp -public Type MessageType { get; } -``` - -Property value
System.Type
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedSubscriptionMessage.TypedSubscriptionMessage(Type) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscriptionmessage__1hh0wlc) -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -CTOR - - - -```csharp -public TypedSubscriptionMessage(Type messageType) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedUnSubscriptionMessage Class ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -UnSubscription message for [TypedSubscription](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedsubscription__otg9b) - - - -```csharp -public class TypedUnSubscriptionMessage : UnSubscriptionMessage -``` - -Inheritance: object -> [net.adamec.lib.common.actor.actor.exchanges.@base.UnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.base.unsubscriptionmessage__15gfzkw) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [MessageType](#p-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage.messagetype__1i0fwqk) | public | System.Type of the message | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypedUnSubscriptionMessage(Type)](#m-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage.-ctor_system.type___1lj7u7r) | public | CTOR | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedUnSubscriptionMessage.MessageType Property ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -System.Type of the message - - - -```csharp -public Type MessageType { get; } -``` - -Property value
System.Type
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypedUnSubscriptionMessage.TypedUnSubscriptionMessage(Type) Constructor ## -Namespace: [net.adamec.lib.common.actor.actor.exchanges.typed](#n-net.adamec.lib.common.actor.actor.exchanges.typed__1mtmrao) -Assembly: net.adamec.lib.common.actor -Type: [TypedUnSubscriptionMessage](#t-net.adamec.lib.common.actor.actor.exchanges.typed.typedunsubscriptionmessage__9g51i3) -Sources: actor\exchanges\typed\TypedSubscriptionMessage.cs - - -CTOR - - - -```csharp -public TypedUnSubscriptionMessage(Type messageType) -``` - -Constructor parameters
System.Type messageType
System.Type of the message
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.actorsystem Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | public | Implementation of actor system | - | [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) | internal | Message dispatched used by [ActorSystem](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | - | [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | public | User defined configuration of [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) | - | [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) | internal | Scheduled message definition | - - - - -### Interfaces ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) | public abstract | The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem Class ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Sources: actorsystem\ActorSystem.cs - - -Implementation of actor system - - - -```csharp -public class ActorSystem : BaseDisposable, IActorSystem -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Implements: IDisposable, [net.adamec.lib.common.actor.actorsystem.IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) - - -### Fields ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Logger](#f-net.adamec.lib.common.actor.actorsystem.actorsystem.logger__1fhxf7) | protected static | | - - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorsByRef](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.actorsbyref__b06x73) | private | Dictionary of actors by actor reference | - | [DeadLetters](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.deadletters__1p4w7em) | public | Provides the access to dead letters queue | - | [Dispatcher](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) | private | Reference to dispatcher used by actor system | - | [ErrorMessageQueue](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.errormessagequeue__kecg1b) | public | Provides the access to error messages queue | - | [Options](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.options__1qogkkh) | public | Returns the reference to current [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystem(ActorSystemOptions)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.-ctor_net.adamec.lib.common.actor.actorsystem.actorsystemoptions___1wtfo99) | public | [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) constructor | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Ask(IActorRef, object, Type, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___sxd0yo) | public | Sends a request message to recipient and waits for the response of required responseType . | - | [Ask<T>(IActorRef, object, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.ask--1_net.adamec.lib.common.actor.actor.iactorref-system.object-system.int32-system.boolean___2dxd0s) | public | Sends a request message to recipient and waits for the response of type . | - | [CancelScheduledMessage(string)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.cancelscheduledmessage_system.string___1w85qxn) | public | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | - | [CancelScheduledMessages(IActorRef, Type)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___sfq920) | public | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | - | [DeRegisterActor(IActorRef)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.deregisteractor_net.adamec.lib.common.actor.actor.iactorref___1x86w27) | public | De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception | - | [DisposeManaged()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.disposemanaged__162jz4w) | protected | Stops and disposes the [Dispatcher](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) | - | [GetMailboxesWithMessages()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.getmailboxeswithmessages__1oiw8zq) | internal | Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed | - | [RegisterActor(IActor, string)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.registeractor_net.adamec.lib.common.actor.actor.iactor-system.string___o3h1j1) | public | Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. | - | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___1mc0hrz) | public | Schedule one-time message to be sent to recipient at given date and time | - | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___kqn59b) | public | Schedule periodic message to be sent to recipient each period . | - | [Start()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) | public | Starts the message dispatcher (started by default within ActorSystem constructor) | - | [Stop()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.stop__v7scp2) | public | Stops the message dispatcher (can be restarted using [Start()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) method) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.Logger Field ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - - -```csharp -protected static ILogger Logger -``` - -Field value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.ActorsByRef Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Dictionary of actors by actor reference - - - -```csharp -private ConcurrentDictionary ActorsByRef { get; } -``` - -Property value
System.Collections.Concurrent.ConcurrentDictionary<net.adamec.lib.common.actor.actor.IActorRef,net.adamec.lib.common.actor.actor.IActor>
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.DeadLetters Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Provides the access to dead letters queue - - - -```csharp -public IMessageQueue DeadLetters { get; } -``` - -Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.Dispatcher Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Reference to dispatcher used by actor system - - - -```csharp -private ActorSystemDispatcher Dispatcher { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.ErrorMessageQueue Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Provides the access to error messages queue - - - -```csharp -public IMessageQueue ErrorMessageQueue { get; } -``` - -Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.Options Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Returns the reference to current [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) - - - -```csharp -public ActorSystemOptions Options { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.ActorSystem(ActorSystemOptions) Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -[ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) constructor - - - -```csharp -public ActorSystem(ActorSystemOptions options) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) options
Actor system configuration options
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystem.Ask(IActorRef, object, Type, int, bool) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Sends a request message to recipient and waits for the response of required responseType . - - - -```csharp -public object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-Return value
object
The "synchronous" response
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.Ask<T>(IActorRef, object, int, bool) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Sends a request message to recipient and waits for the response of type . - - - -```csharp -public ActorSystem.T Ask(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false) -``` - -Type parameters
T
System.Type of the message to wait for
-Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-Return value
net.adamec.lib.common.actor.actorsystem.ActorSystem.T
The "synchronous" response
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.CancelScheduledMessage(string) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Cancels the scheduled message with given id - removes the message from list of the scheduled messages - - - -```csharp -public bool CancelScheduledMessage(string id) -``` - -Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-Return value
bool
True if the message has been found and canceled, false when the message has not been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.CancelScheduledMessages(IActorRef, Type) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages - - - -```csharp -public bool CancelScheduledMessages(IActorRef recipient, Type messageType) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-Return value
bool
True if at least one message has been found and canceled, false when none has been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.DeRegisterActor(IActorRef) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception - - - -```csharp -public void DeRegisterActor(IActorRef actorRef) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to actor to be de-registered
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.DisposeManaged() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Stops and disposes the [Dispatcher](#p-net.adamec.lib.common.actor.actorsystem.actorsystem.dispatcher__16sohre) - - - -```csharp -protected override void DisposeManaged() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.GetMailboxesWithMessages() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Returns the list of the mailboxes (internal actor references) that have at least one message and the actor is not being already processed - - - -```csharp -internal List GetMailboxesWithMessages() -``` - -Return value
List<net.adamec.lib.common.actor.actor.ActorRefInternal>
List of mailboxes(internal actor references) having the messages for processing
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.RegisterActor(IActor, string) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. - - - -```csharp -public IActorRef RegisterActor(IActor actor, string name) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
-Return value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
Actor reference to the registered actor
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Schedule one-time message to be sent to recipient at given date and time - - - -```csharp -public string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Schedule periodic message to be sent to recipient each period . - - - -```csharp -public string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.Start() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Starts the message dispatcher (started by default within ActorSystem constructor) - - - -```csharp -public void Start() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystem.Stop() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) -Sources: actorsystem\ActorSystem.cs - - -Stops the message dispatcher (can be restarted using [Start()](#m-net.adamec.lib.common.actor.actorsystem.actorsystem.start__zz3cpm) method) - - - -```csharp -public void Stop() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher Class ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Sources: actorsystem\ActorSystemDispatcher.cs - - -Message dispatched used by [ActorSystem](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) - - - -```csharp -internal class ActorSystemDispatcher : BaseDisposable -``` - -Inheritance: object -> [net.adamec.lib.common.utils.BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Implements: IDisposable - - -### Fields ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [isActive](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) | private | | - | [Logger](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.logger__1opp49m) | protected static | | - | [MessageLogger](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.messagelogger__9fz30j) | protected static | Message logger | - | [scheduledMessagesLock](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.scheduledmessageslock__19elh26) | private | | - - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystem](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.actorsystem__1osgm3w) | private | | - | [ExecutorThread](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) | private | Dispatcher executor thread | - | [IsActive](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__9h4ytm) | public | Flag whether the dispatcher is active (dispatching messages) | - | [Options](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.options__glvhoa) | protected | Actor System options | - | [ScheduledMessages](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.scheduledmessages__61sfpr) | private | | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystemDispatcher(ActorSystem)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.-ctor_net.adamec.lib.common.actor.actorsystem.actorsystem___bl3uhi) | public | Initialize dispatcher | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CancelScheduledMessage(string)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.cancelscheduledmessage_system.string___1r5af14) | internal | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | - | [CancelScheduledMessages(IActorRef, Type)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___6bdh5j) | internal | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | - | [DisposeManaged()](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.disposemanaged__121xst9) | protected | Stops the dispatched when disposing | - | [Execute(object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.execute_system.object___q5nu8z) | private | Main dispatcher loop (runs within the [ExecutorThread](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) ) The loop is active while [isActive](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) is set to true, so setting [isActive](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing | - | [GetScheduledMessagesDue()](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.getscheduledmessagesdue__5eu7es) | private | Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule | - | [ProcessActorQueue(object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.processactorqueue_system.object___1ifalnd) | private | Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target | - | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___6k32uw) | internal | Schedule one-time message to be sent to recipient at given date and time Creates the [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages | - | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___vt99rw) | internal | Schedule periodic message to be sent to recipient each period . Creates the [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages | - | [ScheduleMessage(ScheduledMessageInfo)](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.schedulemessage_net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo___1xwfair) | private | Get's the given [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) and adds it to internal list of scheduled messages. | - | [Start()](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.start__2g0p6j) | public | Starts the dispatcher Creates the executor thread and starts processing the messages | - | [Stop()](#m-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.stop__8jn5gr) | public | Stops the dispatcher Finish current processing and "close" the executor thread | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.isActive Field ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - - -```csharp -private volatile bool isActive -``` - -Field value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.Logger Field ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - - -```csharp -protected static ILogger Logger -``` - -Field value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemDispatcher.MessageLogger Field ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Message logger - - - -```csharp -protected static ILogger MessageLogger -``` - -Field value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemDispatcher.scheduledMessagesLock Field ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - - -```csharp -private readonly object scheduledMessagesLock -``` - -Field value
object
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ActorSystem Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - - -```csharp -private ActorSystem ActorSystem { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemDispatcher.ExecutorThread Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Dispatcher executor thread - - - -```csharp -private Thread ExecutorThread { get; set; } -``` - -Property value
System.Threading.Thread
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.IsActive Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Flag whether the dispatcher is active (dispatching messages) - - - -```csharp -public bool IsActive { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.Options Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Actor System options - - - -```csharp -protected ActorSystemOptions Options { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemDispatcher.ScheduledMessages Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - - -```csharp -private List ScheduledMessages { get; } -``` - -Property value
List<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ActorSystemDispatcher(ActorSystem) Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Initialize dispatcher - - - -```csharp -public ActorSystemDispatcher(ActorSystem actorSystem) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) actorSystem
Actor System the dispatcher belongs to
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemDispatcher.CancelScheduledMessage(string) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Cancels the scheduled message with given id - removes the message from list of the scheduled messages - - - -```csharp -internal bool CancelScheduledMessage(string id) -``` - -Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-Return value
bool
True if the message has been found and canceled, false when the message has not been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.CancelScheduledMessages(IActorRef, Type) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages - - - -```csharp -internal bool CancelScheduledMessages(IActorRef recipient, Type messageType) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-Return value
bool
True if at least one message has been found and canceled, false when none has been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.DisposeManaged() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Stops the dispatched when disposing - - - -```csharp -protected override void DisposeManaged() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.Execute(object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Main dispatcher loop (runs within the [ExecutorThread](#p-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.executorthread__1a9snen) ) The loop is active while [isActive](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) is set to true, so setting [isActive](#f-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher.isactive__1g6w74o) to false forces the loop to exit Each run of the loop enqueue the due scheduled messages (if any) and process mailboxes (actors) with any pending messages. Actor (actor reference) is locked for processing and the task is scheduled in thread pool to process the actor's queue. The actor remains locked until the task is not finished, so it's not picked up by executor again during the processing - - - -```csharp -private void Execute(object actorSystemObj) -``` - -Method parameters
object actorSystemObj
Actor System
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.GetScheduledMessagesDue() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Gets the list of scheduled messages that should be enqueued (are due) When the scheduled message is periodic, the next fire time is calculated and a new instance of scheduled message is added to to schedule - - - -```csharp -private IEnumerable GetScheduledMessagesDue() -``` - -Return value
IEnumerable<net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo>
The list of scheduled messages that to be enqueued
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ProcessActorQueue(object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Main actor queue processor - scheduled by executor within the thread pool for each eligible actor (actor ref) Processes the batch of the messages for given actor. The messages are being processed sequentially in FIFO order within the loop with following constraints - there are still messages in actor's queue - actor can receive the messages - the batch size (number of messages for single actor processed in one cycle) has not been reached - dispatcher is not stopped The messages are sent to current actor receive target - - - -```csharp -private void ProcessActorQueue(object actorRef) -``` - -Method parameters
object actorRef
Actor to process
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Schedule one-time message to be sent to recipient at given date and time Creates the [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages - - - -```csharp -internal string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Schedule periodic message to be sent to recipient each period . Creates the [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) instance based on the parameters and let it add to the internal list of the scheduled messages - - - -```csharp -internal string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.ScheduleMessage(ScheduledMessageInfo) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Get's the given [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) and adds it to internal list of scheduled messages. - - - -```csharp -private void ScheduleMessage(ScheduledMessageInfo msg) -``` - -Method parameters
[net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) msg
Scheduled message description to be added to the internal list of scheduled messages.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.Start() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Starts the dispatcher Creates the executor thread and starts processing the messages - - - -```csharp -public void Start() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemDispatcher.Stop() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemDispatcher](#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe) -Sources: actorsystem\ActorSystemDispatcher.cs - - -Stops the dispatcher Finish current processing and "close" the executor thread - - - -```csharp -public void Stop() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions Class ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Sources: actorsystem\ActorSystemOptions.cs - - -User defined configuration of [ActorSystem](#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3) - - - -```csharp -public class ActorSystemOptions -``` - -Inheritance: object - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Default](#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.default__12pheto) | public static | Returns the default [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | - | [LogDispatchMessages](#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.logdispatchmessages__b8w2y1) | public | If enabled, logs each message before dispatched to actor with DEBUG level (default false) | - | [LogEnqueuedMessages](#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.logenqueuedmessages__1on1j1f) | public | If enabled, logs each enqueued message with DEBUG level (default false) | - | [LogNotHandledMessages](#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.lognothandledmessages__982jd6) | public | If enabled, logs each not handled message with WARN level (default false) | - | [MaxDispatchMessagesInBatch](#p-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.maxdispatchmessagesinbatch__47yvmi) | public | Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ActorSystemOptions()](#m-net.adamec.lib.common.actor.actorsystem.actorsystemoptions.-cctor__coeb0w) | private static | Static CTOR - initialize default options instance | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions.Default Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -Returns the default [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) - - - -```csharp -public static ActorSystemOptions Default { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ActorSystemOptions.LogDispatchMessages Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -If enabled, logs each message before dispatched to actor with DEBUG level (default false) - - - -```csharp -public bool LogDispatchMessages { get; set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions.LogEnqueuedMessages Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -If enabled, logs each enqueued message with DEBUG level (default false) - - - -```csharp -public bool LogEnqueuedMessages { get; set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions.LogNotHandledMessages Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -If enabled, logs each not handled message with WARN level (default false) - - - -```csharp -public bool LogNotHandledMessages { get; set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions.MaxDispatchMessagesInBatch Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -Defines the maximum number of messages send for processing to single actor during one cycle of ActorDispatcher executor (default 10) - - - -```csharp -public int MaxDispatchMessagesInBatch { get; set; } -``` - -Property value
int
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ActorSystemOptions.ActorSystemOptions() Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) -Sources: actorsystem\ActorSystemOptions.cs - - -Static CTOR - initialize default options instance - - - -```csharp -private static ActorSystemOptions() -``` - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo Class ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Sources: actorsystem\ScheduledMessageInfo.cs - - -Scheduled message definition - - - -```csharp -internal class ScheduledMessageInfo -``` - -Inheritance: object - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Id](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.id__d1ho0y) | internal | Unique ID of scheduled message | - | [Message](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) | internal | Message to be (periodically) sent to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) | - | [NextFire](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.nextfire__16ekkf2) | internal | Date and Time after which the message is enqueued to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue | - | [Period](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.period__v8c71e) | internal | Period after which the message is periodically enqueued to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue. Null for non-periodic messages | - | [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) | internal | Recipient of the message | - | [Sender](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.sender__1m7ejeu) | internal | Optional information about the sender, usually used by [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) to respond to the [Message](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object)](#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___d10rbc) | internal | CTOR for one-time scheduled message info | - | [ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object)](#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___w2q5fc) | internal | CTOR for periodic scheduled message info | - | [ScheduledMessageInfo(ScheduledMessageInfo)](#m-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.-ctor_net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo___1cbqekh) | internal | CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.Id Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Unique ID of scheduled message - - - -```csharp -internal string Id { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.Message Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Message to be (periodically) sent to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) - - - -```csharp -internal object Message { get; } -``` - -Property value
object
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.NextFire Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Date and Time after which the message is enqueued to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue - - - -```csharp -internal DateTime NextFire { get; } -``` - -Property value
DateTime
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.Period Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Period after which the message is periodically enqueued to the [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) queue. Null for non-periodic messages - - - -```csharp -internal System.TimeSpan? Period { get; } -``` - -Property value
System.TimeSpan?
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.Recipient Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Recipient of the message - - - -```csharp -internal IActorRef Recipient { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ScheduledMessageInfo.Sender Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -Optional information about the sender, usually used by [Recipient](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.recipient__9cyy92) to respond to the [Message](#p-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo.message__8wrme2) - - - -```csharp -internal IActorRef Sender { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, DateTime, object) Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -CTOR for one-time scheduled message info - - - -```csharp -internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.ScheduledMessageInfo(IActorRef, IActorRef, TimeSpan, object) Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -CTOR for periodic scheduled message info - - - -```csharp -internal ScheduledMessageInfo(IActorRef sender, IActorRef recipient, TimeSpan period, object message) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ScheduledMessageInfo.ScheduledMessageInfo(ScheduledMessageInfo) Constructor ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) -Sources: actorsystem\ScheduledMessageInfo.cs - - -CTOR for the new instance of scheduled message definition for existing periodic scheduled message Used when creating the definition of each new run of the periodic schedule. Copies the information from current definition and preservers the ID - - - -```csharp -internal ScheduledMessageInfo(ScheduledMessageInfo existingPeriodicScheduledMessageInfo) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actorsystem.ScheduledMessageInfo](#t-net.adamec.lib.common.actor.actorsystem.scheduledmessageinfo__ifn4s5) existingPeriodicScheduledMessageInfo
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
IActorSystem Interface ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Sources: actorsystem\IActorSystem.cs - - -The Actor System published interface Provides access to options and system queues, supports the actor (de)registration, dispatcher management (start/stop) as well as message scheduling and synchronous (Request-Reply) messaging. - - - -```csharp -public interface IActorSystem -``` - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [DeadLetters](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.deadletters__82oxzl) | public abstract | Provides the access to dead letters queue | - | [ErrorMessageQueue](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | public abstract | Provides the access to error messages queue | - | [Options](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.options__logleg) | public abstract | Returns the reference to current [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Ask(IActorRef, object, Type, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask_net.adamec.lib.common.actor.actor.iactorref-system.object-system.type-system.int32-system.boolean___14ecl67) | public abstract | Sends a request message to recipient and waits for the response of required responseType . | - | [Ask<T>(IActorRef, object, int, bool)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.ask--1_net.adamec.lib.common.actor.actor.iactorref-system.object-system.int32-system.boolean___1d7ni9h) | public abstract | Sends a request message to recipient and waits for the response of type . | - | [CancelScheduledMessage(string)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessage_system.string___bluqps) | public abstract | Cancels the scheduled message with given id - removes the message from list of the scheduled messages | - | [CancelScheduledMessages(IActorRef, Type)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.cancelscheduledmessages_net.adamec.lib.common.actor.actor.iactorref-system.type___c89uf5) | public abstract | Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages | - | [DeRegisterActor(IActorRef)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.deregisteractor_net.adamec.lib.common.actor.actor.iactorref___102bphm) | public abstract | De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception | - | [RegisterActor(IActor, string)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.registeractor_net.adamec.lib.common.actor.actor.iactor-system.string___c4sh8g) | public abstract | Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. | - | [ScheduleMessage(IActorRef, IActorRef, DateTime, object)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.datetime-system.object___1o3fnac) | public abstract | Schedule one-time message to be sent to recipient at given date and time | - | [ScheduleMessage(IActorRef, IActorRef, TimeSpan, object)](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.schedulemessage_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.timespan-system.object___og1m84) | public abstract | Schedule periodic message to be sent to recipient each period . | - | [Start()](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) | public abstract | Starts the message dispatcher (started by default within ActorSystem constructor) | - | [Stop()](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.stop__dly8m5) | public abstract | Stops the message dispatcher (can be restarted using [Start()](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) method) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.DeadLetters Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Provides the access to dead letters queue - - - -```csharp -public abstract IMessageQueue DeadLetters { get; } -``` - -Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
IActorSystem.ErrorMessageQueue Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Provides the access to error messages queue - - - -```csharp -public abstract IMessageQueue ErrorMessageQueue { get; } -``` - -Property value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
IActorSystem.Options Property ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Returns the reference to current [ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j) - - - -```csharp -public abstract ActorSystemOptions Options { get; } -``` - -Property value
[net.adamec.lib.common.actor.actorsystem.ActorSystemOptions](#t-net.adamec.lib.common.actor.actorsystem.actorsystemoptions__1e8lf7j)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
IActorSystem.Ask(IActorRef, object, Type, int, bool) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Sends a request message to recipient and waits for the response of required responseType . - - - -```csharp -public abstract object Ask(IActorRef recipient, object message, Type responseType, int timeoutMilliseconds, bool throwTimeoutException = false) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
System.Type responseType
System.Type of the message to wait for
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-Return value
object
The "synchronous" response
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.Ask<T>(IActorRef, object, int, bool) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Sends a request message to recipient and waits for the response of type . - - - -```csharp -public abstract IActorSystem.T Ask(IActorRef recipient, object message, int timeoutMilliseconds, bool throwTimeoutException = false) -``` - -Type parameters
T
System.Type of the message to wait for
-Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Reference to recipient actor
object message
Request message
int timeoutMilliseconds
Timeout for the response
bool throwTimeoutException
If true, the System.TimeoutException is raised, otherwise the default(T) response is returned
-Return value
net.adamec.lib.common.actor.actorsystem.IActorSystem.T
The "synchronous" response
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.CancelScheduledMessage(string) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Cancels the scheduled message with given id - removes the message from list of the scheduled messages - - - -```csharp -public abstract bool CancelScheduledMessage(string id) -``` - -Method parameters
string id
Unique ID of the scheduled message. When the id is not found, it's just ignored.
-Return value
bool
True if the message has been found and canceled, false when the message has not been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.CancelScheduledMessages(IActorRef, Type) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Cancels all messages scheduled for recipient that are of given messageType - removes the messages from list of the scheduled messages - - - -```csharp -public abstract bool CancelScheduledMessages(IActorRef recipient, Type messageType) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
The recipient of the scheduled messages to be canceled.
System.Type messageType
The type of the scheduled messages to be canceled.
-Return value
bool
True if at least one message has been found and canceled, false when none has been found
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.DeRegisterActor(IActorRef) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -De-register actor identified by actorRef from the actor system If actorRef is not found within the actor system, WARN message is logged, but raises no error/exception - - - -```csharp -public abstract void DeRegisterActor(IActorRef actorRef) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) actorRef
Reference to actor to be de-registered
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.RegisterActor(IActor, string) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Registers the actor to actor system. Name of the actor should be unique, but this is not checked. Each actor must register first to be able to receive the messages within the actor system. - - - -```csharp -public abstract IActorRef RegisterActor(IActor actor, string name) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActor](#t-net.adamec.lib.common.actor.actor.iactor__16hx1xi) actor
Actor to be registered
string name
Name of the actor. Name of the actor should be unique, but this is not checked. Name is mandatory and can't be empty
-Return value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
Actor reference to the registered actor
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.ScheduleMessage(IActorRef, IActorRef, DateTime, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Schedule one-time message to be sent to recipient at given date and time - - - -```csharp -public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, DateTime nextFire, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
DateTime nextFire
Date and time after which the message is enqueued to the recipient queue
object message
Message to be sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.ScheduleMessage(IActorRef, IActorRef, TimeSpan, object) Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Schedule periodic message to be sent to recipient each period . - - - -```csharp -public abstract string ScheduleMessage(IActorRef sender, IActorRef recipient, TimeSpan period, object message) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Optional information about the sender, usually used by recipient to respond to the message
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Recipient of the message
System.TimeSpan period
Period after which the message is periodically enqueued to the recipient queue
object message
Message to be periodically sent to the recipient
-Return value
string
Unique ID of scheduled message
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.Start() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Starts the message dispatcher (started by default within ActorSystem constructor) - - - -```csharp -public abstract void Start() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IActorSystem.Stop() Method ## -Namespace: [net.adamec.lib.common.actor.actorsystem](#n-net.adamec.lib.common.actor.actorsystem__1ihx1md) -Assembly: net.adamec.lib.common.actor -Type: [IActorSystem](#t-net.adamec.lib.common.actor.actorsystem.iactorsystem__wkr3cs) -Sources: actorsystem\IActorSystem.cs - - -Stops the message dispatcher (can be restarted using [Start()](#m-net.adamec.lib.common.actor.actorsystem.iactorsystem.start__clajz5) method) - - - -```csharp -public abstract void Stop() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.message Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) | public | Message envelope | - | [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) | public | Specialized [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope Class ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Sources: message\Envelope.cs - - -Message envelope - - - -```csharp -public class Envelope -``` - -Inheritance: object - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CorrelationId](#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) | public | Correlation ID used to identify the message (envelope) | - | [CreatedOn](#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) | public | Timestamp when the envelope has been created | - | [Message](#p-net.adamec.lib.common.actor.message.envelope.message__j08krj) | public | Message | - | [Recipient](#p-net.adamec.lib.common.actor.message.envelope.recipient__1fcsz7b) | public | Message recipient | - | [RoutingKey](#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) | public | Optional routing key that can be used by actors (as "a parameter outside the message") | - | [Sender](#p-net.adamec.lib.common.actor.message.envelope.sender__154pdc7) | public | Message sender | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Envelope(Envelope)](#m-net.adamec.lib.common.actor.message.envelope.-ctor_net.adamec.lib.common.actor.message.envelope___1a00gop) | protected | CTOR - creates the exact copy of original message including the [CorrelationId](#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) and [CreatedOn](#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) timestamp | - | [Envelope(IActorRef, IActorRef, object, string)](#m-net.adamec.lib.common.actor.message.envelope.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.object-system.string___k4a7n5) | internal | CTOR | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ForwardTo(IActorRef)](#m-net.adamec.lib.common.actor.message.envelope.forwardto_net.adamec.lib.common.actor.actor.iactorref___qf18qp) | public | Forwards the message to another recipient. Keeps the original message, sender and routing key. | - | [ForwardTo(IActorRef, string)](#m-net.adamec.lib.common.actor.message.envelope.forwardto_net.adamec.lib.common.actor.actor.iactorref-system.string___1pf93xv) | public | Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the [RoutingKey](#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) based on routingKey parameter. | - | [ToString()](#m-net.adamec.lib.common.actor.message.envelope.tostring__3dg837) | public | | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.CorrelationId Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Correlation ID used to identify the message (envelope) - - - -```csharp -public string CorrelationId { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.CreatedOn Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Timestamp when the envelope has been created - - - -```csharp -public DateTime CreatedOn { get; } -``` - -Property value
DateTime
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.Message Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Message - - - -```csharp -public object Message { get; } -``` - -Property value
object
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.Recipient Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Message recipient - - - -```csharp -public IActorRef Recipient { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Envelope.RoutingKey Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Optional routing key that can be used by actors (as "a parameter outside the message") - - - -```csharp -public string RoutingKey { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.Sender Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Message sender - - - -```csharp -public IActorRef Sender { get; } -``` - -Property value
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Envelope.Envelope(Envelope) Constructor ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -CTOR - creates the exact copy of original message including the [CorrelationId](#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) and [CreatedOn](#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) timestamp - - - -```csharp -protected Envelope(Envelope original) -``` - -Constructor parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) original
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
Envelope.Envelope(IActorRef, IActorRef, object, string) Constructor ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -CTOR - - - -```csharp -internal Envelope(IActorRef sender, IActorRef recipient, object message, string routingKey = null) -``` - -Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Message sender
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Message recipient
object message
Message (payload)
string routingKey
Optional routing key that can be used by actors (as "a parameter outside the message")
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.ForwardTo(IActorRef) Method ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Forwards the message to another recipient. Keeps the original message, sender and routing key. - - - -```csharp -public virtual void ForwardTo(IActorRef recipient) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Target recipient
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.ForwardTo(IActorRef, string) Method ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - -Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the [RoutingKey](#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) based on routingKey parameter. - - - -```csharp -public virtual void ForwardTo(IActorRef recipient, string routingKey) -``` - -Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Target recipient
string routingKey
New [RoutingKey](#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) , if not provided, the routing key will be cleaned up (set to null)!
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## Envelope.ToString() Method ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) -Sources: message\Envelope.cs - - - -```csharp -[ExcludeFromCodeCoverage] -public override string ToString() -``` - -Return value
string
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage Class ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Sources: message\ErrorMessage.cs - - -Specialized [Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) - - - -```csharp -public class ErrorMessage : Envelope -``` - -Inheritance: object -> [net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Error](#p-net.adamec.lib.common.actor.message.errormessage.error__1649m0l) | public | Error message | - | [ErrorOn](#p-net.adamec.lib.common.actor.message.errormessage.erroron__b1f28) | public | Timestamp when the error envelope has been created | - | [Exception](#p-net.adamec.lib.common.actor.message.errormessage.exception__crgqc2) | public | Exception thrown | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ErrorMessage(Envelope, string, Exception)](#m-net.adamec.lib.common.actor.message.errormessage.-ctor_net.adamec.lib.common.actor.message.envelope-system.string-system.exception___7xh1dy) | public | CTOR - creates the error message envelope based on given message envelope | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ToString()](#m-net.adamec.lib.common.actor.message.errormessage.tostring__1v7vk6u) | public | | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage.Error Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) -Sources: message\ErrorMessage.cs - - -Error message - - - -```csharp -public string Error { get; } -``` - -Property value
string
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage.ErrorOn Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) -Sources: message\ErrorMessage.cs - - -Timestamp when the error envelope has been created - - - -```csharp -public DateTime ErrorOn { get; } -``` - -Property value
DateTime
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage.Exception Property ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) -Sources: message\ErrorMessage.cs - - -Exception thrown - - - -```csharp -public Exception Exception { get; } -``` - -Property value
System.Exception
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage.ErrorMessage(Envelope, string, Exception) Constructor ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) -Sources: message\ErrorMessage.cs - - -CTOR - creates the error message envelope based on given message envelope - - - -```csharp -public ErrorMessage(Envelope envelope, string error, Exception exception) -``` - -Constructor parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope of message causing the error
string error
Error message
System.Exception exception
Exception thrown
-Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ErrorMessage.ToString() Method ## -Namespace: [net.adamec.lib.common.actor.message](#n-net.adamec.lib.common.actor.message__m00bpk) -Assembly: net.adamec.lib.common.actor -Type: [ErrorMessage](#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) -Sources: message\ErrorMessage.cs - - - -```csharp -[ExcludeFromCodeCoverage] -public override string ToString() -``` - -Return value
string
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.actor.queue Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) | internal | An unbounded mailbox managed message queue used by [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! | - | [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | public | Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing | - - - - -### Interfaces ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) | public abstract | | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue Class ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Sources: queue\InternalQueue.cs - - -An unbounded mailbox managed message queue used by [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! - - - -```csharp -internal class InternalQueue : IMessageQueue -``` - -Inheritance: object -Implements: [net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) - - -### Fields ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [queue](#f-net.adamec.lib.common.actor.queue.internalqueue.queue__11mr03p) | private | Internal queue | - - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Count](#p-net.adamec.lib.common.actor.queue.internalqueue.count__1dorya5) | public | Number of messages in the queue | - | [HasMessages](#p-net.adamec.lib.common.actor.queue.internalqueue.hasmessages__1im69ka) | public | Flag whether the queue contains any messages | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CleanUp(IMessageQueue)](#m-net.adamec.lib.common.actor.queue.internalqueue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___1hi25kd) | public | Cleans the queue, the messages are sent to deadletters queue | - | [Copy()](#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) | public | Gets the messages stored in the queue. The messages in the array must not be modified!!! | - | [Enqueue(Envelope)](#m-net.adamec.lib.common.actor.queue.internalqueue.enqueue_net.adamec.lib.common.actor.message.envelope___ve2fas) | public | Enqueue a new message envelope | - | [TryDequeue(Envelope)](#m-net.adamec.lib.common.actor.queue.internalqueue.trydequeue_net.adamec.lib.common.actor.message.envelope-___19jzc8l) | public | Tries to dequeue a message from the queue | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.queue Field ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Internal queue - - - -```csharp -private readonly ConcurrentQueue queue -``` - -Field value
System.Collections.Concurrent.ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope>
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.Count Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Number of messages in the queue - - - -```csharp -public int Count { get; } -``` - -Property value
int
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.HasMessages Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Flag whether the queue contains any messages - - - -```csharp -public bool HasMessages { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.CleanUp(IMessageQueue) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Cleans the queue, the messages are sent to deadletters queue - - - -```csharp -[ExcludeFromCodeCoverage] -public void CleanUp(IMessageQueue deadletters) -``` - -Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
DeadLetters queue
-Return value
void
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.Copy() Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Gets the messages stored in the queue. The messages in the array must not be modified!!! - - - -```csharp -[ExcludeFromCodeCoverage] -public Envelope[] Copy() -``` - -Return value
[net.adamec.lib.common.actor.message.Envelope[]](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
Messages stored in the queue. The messages in the array must not be modified!!!
Attributes:
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.Enqueue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Enqueue a new message envelope - - - -```csharp -public void Enqueue(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## InternalQueue.TryDequeue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) -Sources: queue\InternalQueue.cs - - -Tries to dequeue a message from the queue - - - -```csharp -public bool TryDequeue(out Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope dequeued
-Return value
bool
True if any message is returned in envelope
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue Class ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Sources: queue\ManagedMessageQueue.cs - - -Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing - - - -```csharp -public class ManagedMessageQueue : IMessageQueue -``` - -Inheritance: object -Implements: [net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) - - -### Fields ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [MessageQueue](#f-net.adamec.lib.common.actor.queue.managedmessagequeue.messagequeue__f6vqnz) | protected | The underlying [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) . | - | [prependBuffer](#f-net.adamec.lib.common.actor.queue.managedmessagequeue.prependbuffer__8wamat) | private | | - - - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Count](#p-net.adamec.lib.common.actor.queue.managedmessagequeue.count__h0822) | public | Returns the number of messages in both the internal message queue and the prepend buffer. | - | [HasMessages](#p-net.adamec.lib.common.actor.queue.managedmessagequeue.hasmessages__17b0d3x) | public | Returns true if there are any messages inside the queue. | - - - - -### Constructors ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ManagedMessageQueue()](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.-ctor__1c6oeh3) | public | Creates [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CleanUp(IMessageQueue)](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___1e5rsai) | public | Cleans the queue, the messages are sent to deadletters queue | - | [Copy()](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.copy__xeyi8r) | public | Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!! | - | [Enqueue(Envelope)](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___fs8mtl) | public | Enqueue a new message envelope | - | [EnqueueFirst(Envelope)](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.enqueuefirst_net.adamec.lib.common.actor.message.envelope___3gbbrz) | public | Add a message to the front of the queue via the prepend buffer. | - | [TryDequeue(Envelope)](#m-net.adamec.lib.common.actor.queue.managedmessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1k976aa) | public | Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.MessageQueue Field ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -The underlying [InternalQueue](#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) . - - - -```csharp -protected readonly IMessageQueue MessageQueue -``` - -Field value
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -##
ManagedMessageQueue.prependBuffer Field ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - - -```csharp -private readonly Stack prependBuffer -``` - -Field value
Stack<net.adamec.lib.common.actor.message.Envelope>
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.Count Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Returns the number of messages in both the internal message queue and the prepend buffer. - - - -```csharp -public int Count { get; } -``` - -Property value
int
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.HasMessages Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Returns true if there are any messages inside the queue. - - - -```csharp -public bool HasMessages { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.ManagedMessageQueue() Constructor ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Creates [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) - - - -```csharp -public ManagedMessageQueue() -``` - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.CleanUp(IMessageQueue) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Cleans the queue, the messages are sent to deadletters queue - - - -```csharp -public void CleanUp(IMessageQueue deadletters) -``` - -Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
DeadLetters queue
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.Copy() Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!! - - - -```csharp -[ExcludeFromCodeCoverage] -public Envelope[] Copy() -``` - -Return value
[net.adamec.lib.common.actor.message.Envelope[]](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
All queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Attributes:
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.Enqueue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Enqueue a new message envelope - - - -```csharp -public void Enqueue(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.EnqueueFirst(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Add a message to the front of the queue via the prepend buffer. - - - -```csharp -public void EnqueueFirst(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The message we wish to append to the front of the queue.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ManagedMessageQueue.TryDequeue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [ManagedMessageQueue](#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) -Sources: queue\ManagedMessageQueue.cs - - -Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue - - - -```csharp -public bool TryDequeue(out Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The message to return, if any
-Return value
bool
`true` if a message was available, `false` otherwise.
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue Interface ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Sources: queue\IMessageQueue.cs - - - -```csharp -public interface IMessageQueue -``` - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Count](#p-net.adamec.lib.common.actor.queue.imessagequeue.count__g0891s) | public abstract | Returns the count of messages currently in the message queue | - | [HasMessages](#p-net.adamec.lib.common.actor.queue.imessagequeue.hasmessages__1iz3wad) | public abstract | Tests if the message queue contains any messages | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CleanUp(IMessageQueue)](#m-net.adamec.lib.common.actor.queue.imessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___2qe93s) | public abstract | Called when the [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue | - | [Enqueue(Envelope)](#m-net.adamec.lib.common.actor.queue.imessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___13cgq6h) | public abstract | Enqueue an mailbox envelope onto the message queue | - | [TryDequeue(Envelope)](#m-net.adamec.lib.common.actor.queue.imessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1jw22qo) | public abstract | Tries to pull an envelope of the message queue | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue.Count Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) -Sources: queue\IMessageQueue.cs - - -Returns the count of messages currently in the message queue - - - -```csharp -public abstract int Count { get; } -``` - -Property value
int
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue.HasMessages Property ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) -Sources: queue\IMessageQueue.cs - - -Tests if the message queue contains any messages - - - -```csharp -public abstract bool HasMessages { get; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue.CleanUp(IMessageQueue) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) -Sources: queue\IMessageQueue.cs - - -Called when the [IActorRef](#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue - - - -```csharp -public abstract void CleanUp(IMessageQueue deadletters) -``` - -Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
The dead letters message queue.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue.Enqueue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) -Sources: queue\IMessageQueue.cs - - -Enqueue an mailbox envelope onto the message queue - - - -```csharp -public abstract void Enqueue(Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The envelope to enqueue
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## IMessageQueue.TryDequeue(Envelope) Method ## -Namespace: [net.adamec.lib.common.actor.queue](#n-net.adamec.lib.common.actor.queue__1lh8qrc) -Assembly: net.adamec.lib.common.actor -Type: [IMessageQueue](#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) -Sources: queue\IMessageQueue.cs - - -Tries to pull an envelope of the message queue - - - -```csharp -public abstract bool TryDequeue(out Envelope envelope) -``` - -Method parameters
[net.adamec.lib.common.actor.message.Envelope](#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The envelope that was dequeued
-Return value
bool
`true` if there's a message in the queue. `false` otherwise.
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.extensions Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [TypeExtensions](#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) | internal static | System.Type extensions | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypeExtensions Class ## -Namespace: [net.adamec.lib.common.extensions](#n-net.adamec.lib.common.extensions__1vwuhoq) -Assembly: net.adamec.lib.common.actor -Sources: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs -Source-only packages: [RadCommons.extensions.TypeExtensions.DefaultValue](#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) - - -System.Type extensions - - - -```csharp -internal static class TypeExtensions -``` - -Inheritance: object - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [GetDefaultValue(Type)](#m-net.adamec.lib.common.extensions.typeextensions.getdefaultvalue_system.type___vn2w69) | public static | Gets the default value of given type | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## TypeExtensions.GetDefaultValue(Type) Method ## -Namespace: [net.adamec.lib.common.extensions](#n-net.adamec.lib.common.extensions__1vwuhoq) -Assembly: net.adamec.lib.common.actor -Type: [TypeExtensions](#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) -Sources: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs -Source-only packages: [RadCommons.extensions.TypeExtensions.DefaultValue](#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) - - -Gets the default value of given type - - - -```csharp -public static object GetDefaultValue(this Type type) -``` - -Method parameters
System.Type type
-Return value
object
Default value of given type . Null for non-value types, new instance for value types.
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.logging Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CommonLogging](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) | public static | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory | - | [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) | internal static | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions | - - - - -### Interfaces ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) | public abstract | Logger interface - wrapper around the NLog.ILogger | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## CommonLogging Class ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -[ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory - - - -```csharp -public static class CommonLogging -``` - -Inheritance: object - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [CreateLogger(string)](#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.string___wn77if) | public static | Creates the logger with given categoryName | - | [CreateLogger(Type)](#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.type___uhum9e) | public static | Creates the logger for given type. The name of the logger will be System.Type.FullName | - | [CreateLogger<T>()](#m-net.adamec.lib.common.logging.commonlogging.createlogger--1__lp2vax) | public static | Creates the logger for given type. The name of the logger will be System.Type.FullName | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## CommonLogging.CreateLogger(string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [CommonLogging](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) -Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Creates the logger with given categoryName - - - -```csharp -public static ILogger CreateLogger(string categoryName) -``` - -Method parameters
string categoryName
Name of the logger
-Return value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## CommonLogging.CreateLogger(Type) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [CommonLogging](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) -Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Creates the logger for given type. The name of the logger will be System.Type.FullName - - - -```csharp -public static ILogger CreateLogger(Type type) -``` - -Method parameters
System.Type type
Type to create the logger for
-Return value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## CommonLogging.CreateLogger<T>() Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [CommonLogging](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) -Sources: Packages\RadCommons.logging.CommonLogging\CommonLogging.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Creates the logger for given type. The name of the logger will be System.Type.FullName - - - -```csharp -public static ILogger CreateLogger() -``` - -Type parameters
T
Type to create the logger for
-Return value
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions Class ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -[ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions - - - -```csharp -internal static class LoggerExtensions -``` - -Inheritance: object - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Debug(ILogger, Dictionary<string,object>, string)](#m-net.adamec.lib.common.logging.loggerextensions.debug_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___j9my8t) | public static | Writes the diagnostic message at the `Debug` level. | - | [Debug(ILogger, string, string)](#m-net.adamec.lib.common.logging.loggerextensions.debug_net.adamec.lib.common.logging.ilogger-system.string-system.string___1ivhtea) | public static | Writes the diagnostic message at the `Debug` level. | - | [Error(ILogger, Dictionary<string,object>, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___m1gnmw) | public static | Writes the diagnostic message at the `Error` level. | - | [Error(ILogger, Dictionary<string,object>, string)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___cx87zg) | public static | Writes the diagnostic message at the `Error` level. | - | [Error(ILogger, string, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___yb2lv7) | public static | Writes the diagnostic message at the `Error` level. | - | [Error(ILogger, string, string)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.string-system.string___1rt5ddv) | public static | Writes the diagnostic message at the `Error` level. | - | [Error<TException>(ILogger, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.error--1_net.adamec.lib.common.logging.ilogger-system.string-system.exception___1i16h8s) | public static | Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type | - | [Error<TException>(ILogger, string, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.error--1_net.adamec.lib.common.logging.ilogger-system.string-system.string-system.exception___1473s) | public static | Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type | - | [Fatal(ILogger, Dictionary<string,object>, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___1u2znd0) | public static | Writes the diagnostic message at the `Fatal` level. | - | [Fatal(ILogger, Dictionary<string,object>, string)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___1ron6v0) | public static | Writes the diagnostic message at the `Fatal` level. | - | [Fatal(ILogger, string, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___zech9x) | public static | Writes the diagnostic message at the `Fatal` level. | - | [Fatal(ILogger, string, string)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.string-system.string___7ptull) | public static | Writes the diagnostic message at the `Fatal` level. | - | [Fatal<TException>(ILogger, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.fatal--1_net.adamec.lib.common.logging.ilogger-system.string-system.exception___1i44id8) | public static | Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type | - | [Fatal<TException>(ILogger, string, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.fatal--1_net.adamec.lib.common.logging.ilogger-system.string-system.string-system.exception___1lozfm8) | public static | Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type | - | [Info(ILogger, Dictionary<string,object>, string)](#m-net.adamec.lib.common.logging.loggerextensions.info_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___q80pva) | public static | Writes the diagnostic message at the `Info` level. | - | [Info(ILogger, string, string)](#m-net.adamec.lib.common.logging.loggerextensions.info_net.adamec.lib.common.logging.ilogger-system.string-system.string___1ufgud1) | public static | Writes the diagnostic message at the `Info` level. | - | [LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.logit_net.adamec.lib.common.logging.ilogger-nlog.loglevel-system.collections.generic.dictionary_system.string-system.object_-system.string-system.exception___1pbym9v) | private static | Writes the item (message with optional event properties and exception) into the log | - | [LogIt(ILogger, LogLevel, string, string, Exception)](#m-net.adamec.lib.common.logging.loggerextensions.logit_net.adamec.lib.common.logging.ilogger-nlog.loglevel-system.string-system.string-system.exception___rb1ido) | private static | Writes the item (message with optional exception) into the log | - | [Warn(ILogger, Dictionary<string,object>, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___sahasq) | public static | Writes the diagnostic message at the `Warn` level. | - | [Warn(ILogger, Dictionary<string,object>, string)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___oq47e2) | public static | Writes the diagnostic message at the `Warn` level. | - | [Warn(ILogger, string, Exception, string)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___4coctd) | public static | Writes the diagnostic message at the `Warn` level. | - | [Warn(ILogger, string, string)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.string-system.string___1mophq5) | public static | Writes the diagnostic message at the `Warn` level. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Debug(ILogger, Dictionary<string,object>, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Debug` level. - - - -```csharp -public static void Debug(this ILogger logger, Dictionary eventProperties, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Debug(ILogger, string, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Debug` level. - - - -```csharp -public static void Debug(this ILogger logger, string correlationId, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error(ILogger, Dictionary<string,object>, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. - - - -```csharp -public static void Error(this ILogger logger, Dictionary eventProperties, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error(ILogger, Dictionary<string,object>, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. - - - -```csharp -public static void Error(this ILogger logger, Dictionary eventProperties, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error(ILogger, string, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. - - - -```csharp -public static void Error(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error(ILogger, string, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. - - - -```csharp -public static void Error(this ILogger logger, string correlationId, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error<TException>(ILogger, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type - - - -```csharp -public static LoggerExtensions.TException Error(this ILogger logger, string message, Exception innerException = null) where TException: Exception -``` - -Type parameters
TException
-Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string message
Log message.
System.Exception innerException
Exception to be logged
-Return value
net.adamec.lib.common.logging.LoggerExtensions.TException
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Error<TException>(ILogger, string, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type - - - -```csharp -public static LoggerExtensions.TException Error(this ILogger logger, string correlationId, string message, Exception innerException = null) where TException: Exception -``` - -Type parameters
TException
-Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
-Return value
net.adamec.lib.common.logging.LoggerExtensions.TException
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal(ILogger, Dictionary<string,object>, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. - - - -```csharp -public static void Fatal(this ILogger logger, Dictionary eventProperties, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal(ILogger, Dictionary<string,object>, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. - - - -```csharp -public static void Fatal(this ILogger logger, Dictionary eventProperties, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal(ILogger, string, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. - - - -```csharp -public static void Fatal(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal(ILogger, string, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. - - - -```csharp -public static void Fatal(this ILogger logger, string correlationId, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal<TException>(ILogger, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type - - - -```csharp -public static LoggerExtensions.TException Fatal(this ILogger logger, string message, Exception innerException = null) where TException: Exception -``` - -Type parameters
TException
-Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string message
Log message.
System.Exception innerException
Exception to be logged
-Return value
net.adamec.lib.common.logging.LoggerExtensions.TException
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Fatal<TException>(ILogger, string, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type - - - -```csharp -public static LoggerExtensions.TException Fatal(this ILogger logger, string correlationId, string message, Exception innerException = null) where TException: Exception -``` - -Type parameters
TException
-Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
-Return value
net.adamec.lib.common.logging.LoggerExtensions.TException
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Info(ILogger, Dictionary<string,object>, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Info` level. - - - -```csharp -public static void Info(this ILogger logger, Dictionary eventProperties, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Info(ILogger, string, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Info` level. - - - -```csharp -public static void Info(this ILogger logger, string correlationId, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the item (message with optional event properties and exception) into the log - - - -```csharp -private static void LogIt(ILogger logger, LogLevel level, Dictionary eventProperties, [Localizable(false)] string message, Exception exception = null) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
NLog.LogLevel level
Dictionary<string,object> eventProperties
Event properties (null when no properties are provided)
string message
Log message
System.Exception exception
Optional exception to be logged
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.LogIt(ILogger, LogLevel, string, string, Exception) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the item (message with optional exception) into the log - - - -```csharp -private static void LogIt(ILogger logger, LogLevel level, string correlationId, [Localizable(false)] string message, Exception exception = null) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
NLog.LogLevel level
string correlationId
string message
Log message
System.Exception exception
Optional exception to be logged
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Warn(ILogger, Dictionary<string,object>, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Warn` level. - - - -```csharp -public static void Warn(this ILogger logger, Dictionary eventProperties, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Warn(ILogger, Dictionary<string,object>, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Warn` level. - - - -```csharp -public static void Warn(this ILogger logger, Dictionary eventProperties, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Warn(ILogger, string, Exception, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Warn` level. - - - -```csharp -public static void Warn(this ILogger logger, string correlationId, Exception exception, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## LoggerExtensions.Warn(ILogger, string, string) Method ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Type: [LoggerExtensions](#t-net.adamec.lib.common.logging.loggerextensions__wainxv) -Sources: Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Writes the diagnostic message at the `Warn` level. - - - -```csharp -public static void Warn(this ILogger logger, string correlationId, [Localizable(false)] string message) -``` - -Method parameters
[net.adamec.lib.common.logging.ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) logger
Logger
string correlationId
Correlation ID
string message
Log message.
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## ILogger Interface ## -Namespace: [net.adamec.lib.common.logging](#n-net.adamec.lib.common.logging__1g9pm29) -Assembly: net.adamec.lib.common.actor -Sources: Packages\RadCommons.logging.CommonLogging\ILogger.cs -Source-only packages: [RadCommons.logging.CommonLogging](#src-only-package--RadCommons.logging.CommonLogging) - - -Logger interface - wrapper around the NLog.ILogger - - - -```csharp -public interface ILogger : ILogger -``` - -Implements: NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## net.adamec.lib.common.utils Namespace ## -### Classes ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) | public abstract | Helper class for implementation of System.IDisposable types | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable Class ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Helper class for implementation of System.IDisposable types - - - -```csharp -public abstract class BaseDisposable : IDisposable -``` - -Inheritance: object -Implements: IDisposable - - -### Properties ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Disposed](#p-net.adamec.lib.common.utils.basedisposable.disposed__nxq2fp) | public | Flag whether the object is fully disposed | - | [DisposedManaged](#p-net.adamec.lib.common.utils.basedisposable.disposedmanaged__1pm7df6) | public | Flag whether the managed resources are disposed | - | [DisposedNative](#p-net.adamec.lib.common.utils.basedisposable.disposednative__fqjn7i) | public | Flag whether the native resources are disposed | - - - - -### Destructor ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [~BaseDisposable()](#m-net.adamec.lib.common.utils.basedisposable.finalize__1l3n8dl) | protected | | - - - - -### Methods ### - - | Name | Modifier | Summary | - | ------ | ---------- | --------- | - | [Dispose()](#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri) | public | Dispose the object | - | [Dispose(bool)](#m-net.adamec.lib.common.utils.basedisposable.dispose_system.boolean___1vzs8w4) | protected | Internal implementation of dispose - free the managed and native resources using the respective methods | - | [DisposeManaged()](#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) | protected | Dispose any disposable managed fields or properties. | - | [DisposeNative()](#m-net.adamec.lib.common.utils.basedisposable.disposenative__uaa3i9) | protected | Dispose of COM objects, Handles, etc. Then set those objects to null. | - - - - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.Disposed Property ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Flag whether the object is fully disposed - - - -```csharp -public bool Disposed { get; private set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.DisposedManaged Property ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Flag whether the managed resources are disposed - - - -```csharp -public bool DisposedManaged { get; private set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.DisposedNative Property ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Flag whether the native resources are disposed - - - -```csharp -public bool DisposedNative { get; private set; } -``` - -Property value
bool
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.~BaseDisposable() Destructor ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - - -```csharp - ~BaseDisposable() -``` - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.Dispose() Method ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Dispose the object - - - -```csharp -public void Dispose() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.Dispose(bool) Method ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Internal implementation of dispose - free the managed and native resources using the respective methods - - - -```csharp -protected virtual void Dispose(bool disposing) -``` - -Method parameters
bool disposing
Flag whether the object is disposing (called from [Dispose()](#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri) method). False if called from destructor
-Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.DisposeManaged() Method ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Dispose any disposable managed fields or properties. - - - -```csharp -protected virtual void DisposeManaged() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## BaseDisposable.DisposeNative() Method ## -Namespace: [net.adamec.lib.common.utils](#n-net.adamec.lib.common.utils__7vdji9) -Assembly: net.adamec.lib.common.actor -Type: [BaseDisposable](#t-net.adamec.lib.common.utils.basedisposable__7s72ps) -Sources: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs -Source-only packages: [RadCommons.utils.BaseDisposable](#src-only-package--RadCommons.utils.BaseDisposable) - - -Dispose of COM objects, Handles, etc. Then set those objects to null. - - - -```csharp -protected virtual void DisposeNative() -``` - -Return value
void
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RadCommons.extensions.TypeExtensions.DefaultValue Source only package ## -Tags: RadCommons -Includes: None -Declaring file: Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs - - -Provides default value for types (Source only package). - - -Package members
[TypeExtensions (Type)](#t-net.adamec.lib.common.extensions.typeextensions__63ezc8)
System.Type extensions
[GetDefaultValue(Type) (Method)](#m-net.adamec.lib.common.extensions.typeextensions.getdefaultvalue_system.type___vn2w69)
Gets the default value of given type
- - -Sources
Files\cs\any\App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RadCommons.logging.CommonLogging Source only package ## -Tags: RadCommons RadCommons-Logging -Includes: Folder -Declaring file: Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs - - -RadCommons logging wrapper around NLog (Source only package). - - -References needed
NLog
ProxyFoo
- - -Package members
[CommonLogging (Type)](#t-net.adamec.lib.common.logging.commonlogging__1dar5wb)
[ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory
[CreateLogger(string) (Method)](#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.string___wn77if)
Creates the logger with given categoryName
[CreateLogger(Type) (Method)](#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.type___uhum9e)
Creates the logger for given type. The name of the logger will be System.Type.FullName
[CreateLogger<T>() (Method)](#m-net.adamec.lib.common.logging.commonlogging.createlogger--1__lp2vax)
Creates the logger for given type. The name of the logger will be System.Type.FullName
[ILogger (Type)](#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger interface - wrapper around the NLog.ILogger
[LoggerExtensions (Type)](#t-net.adamec.lib.common.logging.loggerextensions__wainxv)
[ILogger](#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions
[Debug(ILogger, string, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.debug_net.adamec.lib.common.logging.ilogger-system.string-system.string___1ivhtea)
Writes the diagnostic message at the `Debug` level.
[Info(ILogger, string, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.info_net.adamec.lib.common.logging.ilogger-system.string-system.string___1ufgud1)
Writes the diagnostic message at the `Info` level.
[Warn(ILogger, string, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.string-system.string___1mophq5)
Writes the diagnostic message at the `Warn` level.
[Error(ILogger, string, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.string-system.string___1rt5ddv)
Writes the diagnostic message at the `Error` level.
[Fatal(ILogger, string, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.string-system.string___7ptull)
Writes the diagnostic message at the `Fatal` level.
[Warn(ILogger, string, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___4coctd)
Writes the diagnostic message at the `Warn` level.
[Error(ILogger, string, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___yb2lv7)
Writes the diagnostic message at the `Error` level.
[Fatal(ILogger, string, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.string-system.exception-system.string___zech9x)
Writes the diagnostic message at the `Fatal` level.
[Fatal<TException>(ILogger, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal--1_net.adamec.lib.common.logging.ilogger-system.string-system.exception___1i44id8)
Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type
[Fatal<TException>(ILogger, string, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal--1_net.adamec.lib.common.logging.ilogger-system.string-system.string-system.exception___1lozfm8)
Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type
[Error<TException>(ILogger, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error--1_net.adamec.lib.common.logging.ilogger-system.string-system.exception___1i16h8s)
Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type
[Error<TException>(ILogger, string, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error--1_net.adamec.lib.common.logging.ilogger-system.string-system.string-system.exception___1473s)
Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type
[Debug(ILogger, Dictionary<string,object>, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.debug_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___j9my8t)
Writes the diagnostic message at the `Debug` level.
[Info(ILogger, Dictionary<string,object>, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.info_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___q80pva)
Writes the diagnostic message at the `Info` level.
[Warn(ILogger, Dictionary<string,object>, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___oq47e2)
Writes the diagnostic message at the `Warn` level.
[Error(ILogger, Dictionary<string,object>, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___cx87zg)
Writes the diagnostic message at the `Error` level.
[Fatal(ILogger, Dictionary<string,object>, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.string___1ron6v0)
Writes the diagnostic message at the `Fatal` level.
[Warn(ILogger, Dictionary<string,object>, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.warn_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___sahasq)
Writes the diagnostic message at the `Warn` level.
[Error(ILogger, Dictionary<string,object>, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.error_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___m1gnmw)
Writes the diagnostic message at the `Error` level.
[Fatal(ILogger, Dictionary<string,object>, Exception, string) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.fatal_net.adamec.lib.common.logging.ilogger-system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___1u2znd0)
Writes the diagnostic message at the `Fatal` level.
[LogIt(ILogger, LogLevel, string, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.logit_net.adamec.lib.common.logging.ilogger-nlog.loglevel-system.string-system.string-system.exception___rb1ido)
Writes the item (message with optional exception) into the log
[LogIt(ILogger, LogLevel, Dictionary<string,object>, string, Exception) (Method)](#m-net.adamec.lib.common.logging.loggerextensions.logit_net.adamec.lib.common.logging.ilogger-nlog.loglevel-system.collections.generic.dictionary_system.string-system.object_-system.string-system.exception___1pbym9v)
Writes the item (message with optional event properties and exception) into the log
- - -Sources
Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs
Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
Packages\RadCommons.logging.CommonLogging\ILogger.cs
Packages\RadCommons.logging.CommonLogging\LoggerExtensions.cs
- - -Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) - - - - - -## RadCommons.utils.BaseDisposable Source only package ## -Tags: RadCommons -Includes: None -Declaring file: ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs - - -Helper class for implementation of IDisposable types (Source only package). - - -Package members
[BaseDisposable (Type)](#t-net.adamec.lib.common.utils.basedisposable__7s72ps)
Helper class for implementation of System.IDisposable types
[Disposed (Property)](#p-net.adamec.lib.common.utils.basedisposable.disposed__nxq2fp)
Flag whether the object is fully disposed
[DisposedManaged (Property)](#p-net.adamec.lib.common.utils.basedisposable.disposedmanaged__1pm7df6)
Flag whether the managed resources are disposed
[DisposedNative (Property)](#p-net.adamec.lib.common.utils.basedisposable.disposednative__fqjn7i)
Flag whether the native resources are disposed
[Dispose() (Method)](#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri)
Dispose the object
[Dispose(bool) (Method)](#m-net.adamec.lib.common.utils.basedisposable.dispose_system.boolean___1vzs8w4)
Internal implementation of dispose - free the managed and native resources using the respective methods
[DisposeManaged() (Method)](#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85)
Dispose any disposable managed fields or properties.
[DisposeNative() (Method)](#m-net.adamec.lib.common.utils.basedisposable.disposenative__uaa3i9)
Dispose of COM objects, Handles, etc. Then set those objects to null.
[~BaseDisposable() (Method)](#m-net.adamec.lib.common.utils.basedisposable.finalize__1l3n8dl)
- - -Sources
ackages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
- + | [RadCommons.extensions.TypeExtensions.DefaultValue](src-only-packages--.md#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) | Provides default value for types (Source only package). | + | [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) | RadCommons logging wrapper around NLog with some extended functionality (Source only package). | + | [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) | Helper class for implementation of IDisposable types (Source only package). | Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) diff --git a/doc/net.adamec.lib.common.actor.message__m00bpk.html b/doc/net.adamec.lib.common.actor.message__m00bpk.html new file mode 100644 index 0000000..731e589 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.message__m00bpk.html @@ -0,0 +1,270 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.message Namespace

+

Classes

+ + + +
NameModifierSummary
EnvelopepublicMessage envelope
ErrorMessagepublicSpecialized Envelope for messages in ErrorMessageQueue
+

+

Go to namespaces or types or source-only packages

+

+

Envelope Class

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Sources: message\Envelope.cs

+

Message envelope

+
public class Envelope
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.message.ErrorMessage
+

+

Properties

+ + + + + + + +
NameModifierSummary
CorrelationIdpublicCorrelation ID used to identify the message (envelope)
CreatedOnpublicTimestamp when the envelope has been created
MessagepublicMessage
RecipientpublicMessage recipient
RoutingKeypublicOptional routing key that can be used by actors (as "a parameter outside the message")
SenderpublicMessage sender
+

+

Constructors

+ + + +
NameModifierSummary
Envelope(Envelope)protectedCTOR - creates the exact copy of original message including the CorrelationId and CreatedOn timestamp
Envelope(IActorRef, IActorRef, object, string)internalCTOR
+

+

Methods

+ + + + +
NameModifierSummary
ForwardTo(IActorRef)publicForwards the message to another recipient. Keeps the original message, sender and routing key.
ForwardTo(IActorRef, string)publicForwards the message to another recipient. Keeps the original message and sender, but cleans/set the RoutingKey based on routingKey parameter.
ToString()public
+

+

Go to namespaces or types or source-only packages

+

+

Envelope.CorrelationId Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Correlation ID used to identify the message (envelope)

+
public string CorrelationId { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

Envelope.CreatedOn Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Timestamp when the envelope has been created

+
public DateTime CreatedOn { get; }
+

Property value

DateTime

+

Go to namespaces or types or source-only packages

+

+

Envelope.Message Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Message

+
public object Message { get; }
+

Property value

object

+

Go to namespaces or types or source-only packages

+

+

Envelope.Recipient Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Message recipient

+
public IActorRef Recipient { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

Envelope.RoutingKey Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Optional routing key that can be used by actors (as "a parameter outside the message")

+
public string RoutingKey { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

Envelope.Sender Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Message sender

+
public IActorRef Sender { get; }
+

Property value

net.adamec.lib.common.actor.actor.IActorRef

+

Go to namespaces or types or source-only packages

+

+

Envelope.Envelope(Envelope) Constructor

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

CTOR - creates the exact copy of original message including the CorrelationId and CreatedOn timestamp

+
protected Envelope(Envelope original)
+Constructor parameters
net.adamec.lib.common.actor.message.Envelope original
+

Go to namespaces or types or source-only packages

+

+

Envelope.Envelope(IActorRef, IActorRef, object, string) Constructor

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

CTOR

+
internal Envelope(IActorRef sender, IActorRef recipient, object message, string routingKey = null)
+Constructor parameters
net.adamec.lib.common.actor.actor.IActorRef sender
Message sender
net.adamec.lib.common.actor.actor.IActorRef recipient
Message recipient
object message
Message (payload)
string routingKey
Optional routing key that can be used by actors (as "a parameter outside the message")
+

Go to namespaces or types or source-only packages

+

+

Envelope.ForwardTo(IActorRef) Method

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Forwards the message to another recipient. Keeps the original message, sender and routing key.

+
public virtual void ForwardTo(IActorRef recipient)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Target recipient
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Envelope.ForwardTo(IActorRef, string) Method

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+

Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the RoutingKey based on routingKey parameter.

+
public virtual void ForwardTo(IActorRef recipient, string routingKey)
+Method parameters
net.adamec.lib.common.actor.actor.IActorRef recipient
Target recipient
string routingKey
New RoutingKey , if not provided, the routing key will be cleaned up (set to null)!
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

Envelope.ToString() Method

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: Envelope
+Sources: message\Envelope.cs

+
[ExcludeFromCodeCoverage]
+public override string ToString()
+

Return value

string
Overrides: object.ToStringAttributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

+

Go to namespaces or types or source-only packages

+

+

ErrorMessage Class

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Sources: message\ErrorMessage.cs

+

Specialized Envelope for messages in ErrorMessageQueue

+
public class ErrorMessage : Envelope
+

Inheritance: object -> net.adamec.lib.common.actor.message.Envelope
+

+

Properties

+ + + + +
NameModifierSummary
ErrorpublicError message
ErrorOnpublicTimestamp when the error envelope has been created
ExceptionpublicException thrown
+

+

Constructors

+ + +
NameModifierSummary
ErrorMessage(Envelope, string, Exception)publicCTOR - creates the error message envelope based on given message envelope
+

+

Methods

+ + +
NameModifierSummary
ToString()public
+

+

Go to namespaces or types or source-only packages

+

+

ErrorMessage.Error Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: ErrorMessage
+Sources: message\ErrorMessage.cs

+

Error message

+
public string Error { get; }
+

Property value

string

+

Go to namespaces or types or source-only packages

+

+

ErrorMessage.ErrorOn Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: ErrorMessage
+Sources: message\ErrorMessage.cs

+

Timestamp when the error envelope has been created

+
public DateTime ErrorOn { get; }
+

Property value

DateTime

+

Go to namespaces or types or source-only packages

+

+

ErrorMessage.Exception Property

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: ErrorMessage
+Sources: message\ErrorMessage.cs

+

Exception thrown

+
public Exception Exception { get; }
+

Property value

System.Exception

+

Go to namespaces or types or source-only packages

+

+

ErrorMessage.ErrorMessage(Envelope, string, Exception) Constructor

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: ErrorMessage
+Sources: message\ErrorMessage.cs

+

CTOR - creates the error message envelope based on given message envelope

+
public ErrorMessage(Envelope envelope, string error, Exception exception)
+Constructor parameters
net.adamec.lib.common.actor.message.Envelope envelope
Envelope of message causing the error
string error
Error message
System.Exception exception
Exception thrown
+

Go to namespaces or types or source-only packages

+

+

ErrorMessage.ToString() Method

+

Namespace: net.adamec.lib.common.actor.message
+Assembly: net.adamec.lib.common.actor
+Type: ErrorMessage
+Sources: message\ErrorMessage.cs

+
[ExcludeFromCodeCoverage]
+public override string ToString()
+

Return value

string
Overrides: Envelope.ToString()Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.message__m00bpk.md b/doc/net.adamec.lib.common.actor.message__m00bpk.md new file mode 100644 index 0000000..3224317 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.message__m00bpk.md @@ -0,0 +1,508 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.message Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) | public | Message envelope | + | [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) | public | Specialized [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope Class ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Sources: message\Envelope.cs + + +Message envelope + + + +```csharp +public class Envelope +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.message.ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CorrelationId](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) | public | Correlation ID used to identify the message (envelope) | + | [CreatedOn](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) | public | Timestamp when the envelope has been created | + | [Message](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.message__j08krj) | public | Message | + | [Recipient](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.recipient__1fcsz7b) | public | Message recipient | + | [RoutingKey](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) | public | Optional routing key that can be used by actors (as "a parameter outside the message") | + | [Sender](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.sender__154pdc7) | public | Message sender | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Envelope(Envelope)](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.-ctor_net.adamec.lib.common.actor.message.envelope___1a00gop) | protected | CTOR - creates the exact copy of original message including the [CorrelationId](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) and [CreatedOn](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) timestamp | + | [Envelope(IActorRef, IActorRef, object, string)](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.-ctor_net.adamec.lib.common.actor.actor.iactorref-net.adamec.lib.common.actor.actor.iactorref-system.object-system.string___k4a7n5) | internal | CTOR | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ForwardTo(IActorRef)](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.forwardto_net.adamec.lib.common.actor.actor.iactorref___qf18qp) | public | Forwards the message to another recipient. Keeps the original message, sender and routing key. | + | [ForwardTo(IActorRef, string)](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.forwardto_net.adamec.lib.common.actor.actor.iactorref-system.string___1pf93xv) | public | Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the [RoutingKey](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) based on routingKey parameter. | + | [ToString()](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.tostring__3dg837) | public | | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.CorrelationId Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Correlation ID used to identify the message (envelope) + + + +```csharp +public string CorrelationId { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.CreatedOn Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Timestamp when the envelope has been created + + + +```csharp +public DateTime CreatedOn { get; } +``` + +Property value
DateTime
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.Message Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Message + + + +```csharp +public object Message { get; } +``` + +Property value
object
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.Recipient Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Message recipient + + + +```csharp +public IActorRef Recipient { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Envelope.RoutingKey Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Optional routing key that can be used by actors (as "a parameter outside the message") + + + +```csharp +public string RoutingKey { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.Sender Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Message sender + + + +```csharp +public IActorRef Sender { get; } +``` + +Property value
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Envelope.Envelope(Envelope) Constructor ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +CTOR - creates the exact copy of original message including the [CorrelationId](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.correlationid__1b0zym1) and [CreatedOn](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.createdon__1kpt9ip) timestamp + + + +```csharp +protected Envelope(Envelope original) +``` + +Constructor parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) original
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
Envelope.Envelope(IActorRef, IActorRef, object, string) Constructor ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +CTOR + + + +```csharp +internal Envelope(IActorRef sender, IActorRef recipient, object message, string routingKey = null) +``` + +Constructor parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) sender
Message sender
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Message recipient
object message
Message (payload)
string routingKey
Optional routing key that can be used by actors (as "a parameter outside the message")
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.ForwardTo(IActorRef) Method ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Forwards the message to another recipient. Keeps the original message, sender and routing key. + + + +```csharp +public virtual void ForwardTo(IActorRef recipient) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Target recipient
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.ForwardTo(IActorRef, string) Method ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + +Forwards the message to another recipient. Keeps the original message and sender, but cleans/set the [RoutingKey](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) based on routingKey parameter. + + + +```csharp +public virtual void ForwardTo(IActorRef recipient, string routingKey) +``` + +Method parameters
[net.adamec.lib.common.actor.actor.IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) recipient
Target recipient
string routingKey
New [RoutingKey](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.envelope.routingkey__1t0mr4v) , if not provided, the routing key will be cleaned up (set to null)!
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## Envelope.ToString() Method ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) +Sources: message\Envelope.cs + + + +```csharp +[ExcludeFromCodeCoverage] +public override string ToString() +``` + +Return value
string
Overrides: object.ToStringAttributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage Class ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Sources: message\ErrorMessage.cs + + +Specialized [Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) for messages in [ErrorMessageQueue](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#p-net.adamec.lib.common.actor.actorsystem.iactorsystem.errormessagequeue__v9i6fy) + + + +```csharp +public class ErrorMessage : Envelope +``` + +Inheritance: object -> [net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Error](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.errormessage.error__1649m0l) | public | Error message | + | [ErrorOn](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.errormessage.erroron__b1f28) | public | Timestamp when the error envelope has been created | + | [Exception](net.adamec.lib.common.actor.message__m00bpk.md#p-net.adamec.lib.common.actor.message.errormessage.exception__crgqc2) | public | Exception thrown | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ErrorMessage(Envelope, string, Exception)](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.errormessage.-ctor_net.adamec.lib.common.actor.message.envelope-system.string-system.exception___7xh1dy) | public | CTOR - creates the error message envelope based on given message envelope | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ToString()](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.errormessage.tostring__1v7vk6u) | public | | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage.Error Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) +Sources: message\ErrorMessage.cs + + +Error message + + + +```csharp +public string Error { get; } +``` + +Property value
string
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage.ErrorOn Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) +Sources: message\ErrorMessage.cs + + +Timestamp when the error envelope has been created + + + +```csharp +public DateTime ErrorOn { get; } +``` + +Property value
DateTime
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage.Exception Property ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) +Sources: message\ErrorMessage.cs + + +Exception thrown + + + +```csharp +public Exception Exception { get; } +``` + +Property value
System.Exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage.ErrorMessage(Envelope, string, Exception) Constructor ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) +Sources: message\ErrorMessage.cs + + +CTOR - creates the error message envelope based on given message envelope + + + +```csharp +public ErrorMessage(Envelope envelope, string error, Exception exception) +``` + +Constructor parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Envelope of message causing the error
string error
Error message
System.Exception exception
Exception thrown
+Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ErrorMessage.ToString() Method ## +Namespace: [net.adamec.lib.common.actor.message](net.adamec.lib.common.actor.message__m00bpk.md#n-net.adamec.lib.common.actor.message__m00bpk) +Assembly: net.adamec.lib.common.actor +Type: [ErrorMessage](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.errormessage__1gj1wb) +Sources: message\ErrorMessage.cs + + + +```csharp +[ExcludeFromCodeCoverage] +public override string ToString() +``` + +Return value
string
Overrides: [Envelope.ToString()](net.adamec.lib.common.actor.message__m00bpk.md#m-net.adamec.lib.common.actor.message.envelope.tostring__3dg837)Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.actor.queue__1lh8qrc.html b/doc/net.adamec.lib.common.actor.queue__1lh8qrc.html new file mode 100644 index 0000000..b24ae02 --- /dev/null +++ b/doc/net.adamec.lib.common.actor.queue__1lh8qrc.html @@ -0,0 +1,370 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.actor.queue Namespace

+

Classes

+ + + +
NameModifierSummary
InternalQueueinternalAn unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!
ManagedMessageQueuepublicMessage queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing
+

+

Interfaces

+ + +
NameModifierSummary
IMessageQueuepublic abstract
+

+

Go to namespaces or types or source-only packages

+

+

InternalQueue Class

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Sources: queue\InternalQueue.cs

+

An unbounded mailbox managed message queue used by ManagedMessageQueue as the main message queue Allows access to stored messages for monitoring using Copy() . Note: the messages in the array must not be modified!!!

+
internal class InternalQueue : IMessageQueue
+

Inheritance: object
+Implements: net.adamec.lib.common.actor.queue.IMessageQueue

+

Fields

+ + +
NameModifierSummary
queueprivateInternal queue
+

+

Properties

+ + + +
NameModifierSummary
CountpublicNumber of messages in the queue
HasMessagespublicFlag whether the queue contains any messages
+

+

Methods

+ + + + + +
NameModifierSummary
CleanUp(IMessageQueue)publicCleans the queue, the messages are sent to deadletters queue
Copy()publicGets the messages stored in the queue. The messages in the array must not be modified!!!
Enqueue(Envelope)publicEnqueue a new message envelope
TryDequeue(Envelope)publicTries to dequeue a message from the queue
+

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.queue Field

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Internal queue

+
private readonly ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope> queue
+

Field value

System.Collections.Concurrent.ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope>

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.Count Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Number of messages in the queue

+
public int Count { get; }
+

Property value

int
Implements: IMessageQueue.Count

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.HasMessages Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Flag whether the queue contains any messages

+
public bool HasMessages { get; }
+

Property value

bool
Implements: IMessageQueue.HasMessages

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.CleanUp(IMessageQueue) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Cleans the queue, the messages are sent to deadletters queue

+
[ExcludeFromCodeCoverage]
+public void CleanUp(IMessageQueue deadletters)
+Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
DeadLetters queue
+

Return value

void
Implements: IMessageQueue.CleanUp(IMessageQueue)Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.Copy() Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Gets the messages stored in the queue. The messages in the array must not be modified!!!

+
[ExcludeFromCodeCoverage]
+public Envelope[] Copy()
+

Return value

net.adamec.lib.common.actor.message.Envelope[]
Messages stored in the queue. The messages in the array must not be modified!!!
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.Enqueue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Enqueue a new message envelope

+
public void Enqueue(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
+

Return value

void
Implements: IMessageQueue.Enqueue(Envelope)

+

Go to namespaces or types or source-only packages

+

+

InternalQueue.TryDequeue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: InternalQueue
+Sources: queue\InternalQueue.cs

+

Tries to dequeue a message from the queue

+
public bool TryDequeue(out Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope dequeued
+

Return value

bool
True if any message is returned in envelope
Implements: IMessageQueue.TryDequeue(Envelope)

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue Class

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Sources: queue\ManagedMessageQueue.cs

+

Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing

+
public class ManagedMessageQueue : IMessageQueue
+

Inheritance: object
+Implements: net.adamec.lib.common.actor.queue.IMessageQueue

+

Fields

+ + + +
NameModifierSummary
MessageQueueprotectedThe underlying InternalQueue .
prependBufferprivate
+

+

Properties

+ + + +
NameModifierSummary
CountpublicReturns the number of messages in both the internal message queue and the prepend buffer.
HasMessagespublicReturns true if there are any messages inside the queue.
+

+

Constructors

+ + +
NameModifierSummary
ManagedMessageQueue()publicCreates ManagedMessageQueue
+

+

Methods

+ + + + + + +
NameModifierSummary
CleanUp(IMessageQueue)publicCleans the queue, the messages are sent to deadletters queue
Copy()publicGets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Enqueue(Envelope)publicEnqueue a new message envelope
EnqueueFirst(Envelope)publicAdd a message to the front of the queue via the prepend buffer.
TryDequeue(Envelope)publicAttempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue
+

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.MessageQueue Field

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

The underlying InternalQueue .

+
protected readonly IMessageQueue MessageQueue
+

Field value

net.adamec.lib.common.actor.queue.IMessageQueue

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.prependBuffer Field

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+
private readonly Stack<net.adamec.lib.common.actor.message.Envelope> prependBuffer
+

Field value

Stack<net.adamec.lib.common.actor.message.Envelope>

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.Count Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Returns the number of messages in both the internal message queue and the prepend buffer.

+
public int Count { get; }
+

Property value

int
Implements: IMessageQueue.Count

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.HasMessages Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Returns true if there are any messages inside the queue.

+
public bool HasMessages { get; }
+

Property value

bool
Implements: IMessageQueue.HasMessages

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.ManagedMessageQueue() Constructor

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Creates ManagedMessageQueue

+
public ManagedMessageQueue()
+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.CleanUp(IMessageQueue) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Cleans the queue, the messages are sent to deadletters queue

+
public void CleanUp(IMessageQueue deadletters)
+Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
DeadLetters queue
+

Return value

void
Implements: IMessageQueue.CleanUp(IMessageQueue)

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.Copy() Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!

+
[ExcludeFromCodeCoverage]
+public Envelope[] Copy()
+

Return value

net.adamec.lib.common.actor.message.Envelope[]
All queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.Enqueue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Enqueue a new message envelope

+
public void Enqueue(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
Message envelope
+

Return value

void
Implements: IMessageQueue.Enqueue(Envelope)

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.EnqueueFirst(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Add a message to the front of the queue via the prepend buffer.

+
public void EnqueueFirst(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The message we wish to append to the front of the queue.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ManagedMessageQueue.TryDequeue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: ManagedMessageQueue
+Sources: queue\ManagedMessageQueue.cs

+

Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue

+
public bool TryDequeue(out Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The message to return, if any
+

Return value

bool
true if a message was available, false otherwise.
Implements: IMessageQueue.TryDequeue(Envelope)

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue Interface

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Sources: queue\IMessageQueue.cs

+
public interface IMessageQueue
+

Implemented by: net.adamec.lib.common.actor.queue.InternalQueue, net.adamec.lib.common.actor.queue.ManagedMessageQueue
+

+

Properties

+ + + +
NameModifierSummary
Countpublic abstractReturns the count of messages currently in the message queue
HasMessagespublic abstractTests if the message queue contains any messages
+

+

Methods

+ + + + +
NameModifierSummary
CleanUp(IMessageQueue)public abstractCalled when the IActorRef this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue
Enqueue(Envelope)public abstractEnqueue an mailbox envelope onto the message queue
TryDequeue(Envelope)public abstractTries to pull an envelope of the message queue
+

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue.Count Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: IMessageQueue
+Sources: queue\IMessageQueue.cs

+

Returns the count of messages currently in the message queue

+
public abstract int Count { get; }
+

Property value

int

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue.HasMessages Property

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: IMessageQueue
+Sources: queue\IMessageQueue.cs

+

Tests if the message queue contains any messages

+
public abstract bool HasMessages { get; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue.CleanUp(IMessageQueue) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: IMessageQueue
+Sources: queue\IMessageQueue.cs

+

Called when the IActorRef this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue

+
public abstract void CleanUp(IMessageQueue deadletters)
+Method parameters
net.adamec.lib.common.actor.queue.IMessageQueue deadletters
The dead letters message queue.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue.Enqueue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: IMessageQueue
+Sources: queue\IMessageQueue.cs

+

Enqueue an mailbox envelope onto the message queue

+
public abstract void Enqueue(Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The envelope to enqueue
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

IMessageQueue.TryDequeue(Envelope) Method

+

Namespace: net.adamec.lib.common.actor.queue
+Assembly: net.adamec.lib.common.actor
+Type: IMessageQueue
+Sources: queue\IMessageQueue.cs

+

Tries to pull an envelope of the message queue

+
public abstract bool TryDequeue(out Envelope envelope)
+Method parameters
net.adamec.lib.common.actor.message.Envelope envelope
The envelope that was dequeued
+

Return value

bool
true if there's a message in the queue. false otherwise.

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.actor.queue__1lh8qrc.md b/doc/net.adamec.lib.common.actor.queue__1lh8qrc.md new file mode 100644 index 0000000..3669d2a --- /dev/null +++ b/doc/net.adamec.lib.common.actor.queue__1lh8qrc.md @@ -0,0 +1,726 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.actor.queue Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) | internal | An unbounded mailbox managed message queue used by [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! | + | [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | public | Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing | + + + + +### Interfaces ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) | public abstract | | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue Class ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Sources: queue\InternalQueue.cs + + +An unbounded mailbox managed message queue used by [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) as the main message queue Allows access to stored messages for monitoring using [Copy()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) . Note: the messages in the array must not be modified!!! + + + +```csharp +internal class InternalQueue : IMessageQueue +``` + +Inheritance: object +Implements: [net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) + + +### Fields ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#f-net.adamec.lib.common.actor.queue.internalqueue.queue__11mr03p) | private | Internal queue | + + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Count](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.internalqueue.count__1dorya5) | public | Number of messages in the queue | + | [HasMessages](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.internalqueue.hasmessages__1im69ka) | public | Flag whether the queue contains any messages | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CleanUp(IMessageQueue)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___1hi25kd) | public | Cleans the queue, the messages are sent to deadletters queue | + | [Copy()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.copy__1co1b8y) | public | Gets the messages stored in the queue. The messages in the array must not be modified!!! | + | [Enqueue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.enqueue_net.adamec.lib.common.actor.message.envelope___ve2fas) | public | Enqueue a new message envelope | + | [TryDequeue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.internalqueue.trydequeue_net.adamec.lib.common.actor.message.envelope-___19jzc8l) | public | Tries to dequeue a message from the queue | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.queue Field ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Internal queue + + + +```csharp +private readonly ConcurrentQueue queue +``` + +Field value
System.Collections.Concurrent.ConcurrentQueue<net.adamec.lib.common.actor.message.Envelope>
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.Count Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Number of messages in the queue + + + +```csharp +public int Count { get; } +``` + +Property value
int
Implements: [IMessageQueue.Count](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.count__g0891s) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.HasMessages Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Flag whether the queue contains any messages + + + +```csharp +public bool HasMessages { get; } +``` + +Property value
bool
Implements: [IMessageQueue.HasMessages](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.hasmessages__1iz3wad) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.CleanUp(IMessageQueue) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Cleans the queue, the messages are sent to deadletters queue + + + +```csharp +[ExcludeFromCodeCoverage] +public void CleanUp(IMessageQueue deadletters) +``` + +Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
DeadLetters queue
+Return value
void
Implements: [IMessageQueue.CleanUp(IMessageQueue)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___2qe93s)Attributes: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.Copy() Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Gets the messages stored in the queue. The messages in the array must not be modified!!! + + + +```csharp +[ExcludeFromCodeCoverage] +public Envelope[] Copy() +``` + +Return value
[net.adamec.lib.common.actor.message.Envelope[]](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
Messages stored in the queue. The messages in the array must not be modified!!!
Attributes:
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.Enqueue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Enqueue a new message envelope + + + +```csharp +public void Enqueue(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
+Return value
void
Implements: [IMessageQueue.Enqueue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___13cgq6h) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## InternalQueue.TryDequeue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) +Sources: queue\InternalQueue.cs + + +Tries to dequeue a message from the queue + + + +```csharp +public bool TryDequeue(out Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope dequeued
+Return value
bool
True if any message is returned in envelope
Implements: [IMessageQueue.TryDequeue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1jw22qo) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue Class ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Sources: queue\ManagedMessageQueue.cs + + +Message queue for net.adamec.home.control.common.actor.manager.mailbox.ManagedUnboundedDequeBasedMailbox allowing the monitoring (access to) messages stores in the queue The main queue is implemented using net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue and also uses a System.Collections.Generic.Stack`1 internally to store each individual net.adamec.home.control.common.actor.manager.mailbox.ManagedMessageQueue.EnqueueFirst(Akka.Actor.Envelope) messages - supports stashing + + + +```csharp +public class ManagedMessageQueue : IMessageQueue +``` + +Inheritance: object +Implements: [net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) + + +### Fields ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [MessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#f-net.adamec.lib.common.actor.queue.managedmessagequeue.messagequeue__f6vqnz) | protected | The underlying [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) . | + | [prependBuffer](net.adamec.lib.common.actor.queue__1lh8qrc.md#f-net.adamec.lib.common.actor.queue.managedmessagequeue.prependbuffer__8wamat) | private | | + + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Count](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.managedmessagequeue.count__h0822) | public | Returns the number of messages in both the internal message queue and the prepend buffer. | + | [HasMessages](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.managedmessagequeue.hasmessages__17b0d3x) | public | Returns true if there are any messages inside the queue. | + + + + +### Constructors ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ManagedMessageQueue()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.-ctor__1c6oeh3) | public | Creates [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CleanUp(IMessageQueue)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___1e5rsai) | public | Cleans the queue, the messages are sent to deadletters queue | + | [Copy()](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.copy__xeyi8r) | public | Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!! | + | [Enqueue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___fs8mtl) | public | Enqueue a new message envelope | + | [EnqueueFirst(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.enqueuefirst_net.adamec.lib.common.actor.message.envelope___3gbbrz) | public | Add a message to the front of the queue via the prepend buffer. | + | [TryDequeue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.managedmessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1k976aa) | public | Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.MessageQueue Field ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +The underlying [InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8) . + + + +```csharp +protected readonly IMessageQueue MessageQueue +``` + +Field value
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl)
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +##
ManagedMessageQueue.prependBuffer Field ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + + +```csharp +private readonly Stack prependBuffer +``` + +Field value
Stack<net.adamec.lib.common.actor.message.Envelope>
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.Count Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Returns the number of messages in both the internal message queue and the prepend buffer. + + + +```csharp +public int Count { get; } +``` + +Property value
int
Implements: [IMessageQueue.Count](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.count__g0891s) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.HasMessages Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Returns true if there are any messages inside the queue. + + + +```csharp +public bool HasMessages { get; } +``` + +Property value
bool
Implements: [IMessageQueue.HasMessages](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.hasmessages__1iz3wad) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.ManagedMessageQueue() Constructor ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Creates [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) + + + +```csharp +public ManagedMessageQueue() +``` + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.CleanUp(IMessageQueue) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Cleans the queue, the messages are sent to deadletters queue + + + +```csharp +public void CleanUp(IMessageQueue deadletters) +``` + +Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
DeadLetters queue
+Return value
void
Implements: [IMessageQueue.CleanUp(IMessageQueue)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___2qe93s) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.Copy() Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Gets the all queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!! + + + +```csharp +[ExcludeFromCodeCoverage] +public Envelope[] Copy() +``` + +Return value
[net.adamec.lib.common.actor.message.Envelope[]](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s)
All queued messages stored in the prepend buffer and main queue. The messages in the array must not be modified!!!
Attributes:
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.Enqueue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Enqueue a new message envelope + + + +```csharp +public void Enqueue(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
Message envelope
+Return value
void
Implements: [IMessageQueue.Enqueue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___13cgq6h) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.EnqueueFirst(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Add a message to the front of the queue via the prepend buffer. + + + +```csharp +public void EnqueueFirst(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The message we wish to append to the front of the queue.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ManagedMessageQueue.TryDequeue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) +Sources: queue\ManagedMessageQueue.cs + + +Attempt to dequeue a message from the front of the prepend buffer. If the prepend buffer is empty, dequeue a message from the main message queue + + + +```csharp +public bool TryDequeue(out Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The message to return, if any
+Return value
bool
`true` if a message was available, `false` otherwise.
Implements: [IMessageQueue.TryDequeue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1jw22qo) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue Interface ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Sources: queue\IMessageQueue.cs + + + +```csharp +public interface IMessageQueue +``` + +Implemented by: [net.adamec.lib.common.actor.queue.InternalQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.internalqueue__49i5r8), [net.adamec.lib.common.actor.queue.ManagedMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.managedmessagequeue__1xckl09) + + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Count](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.count__g0891s) | public abstract | Returns the count of messages currently in the message queue | + | [HasMessages](net.adamec.lib.common.actor.queue__1lh8qrc.md#p-net.adamec.lib.common.actor.queue.imessagequeue.hasmessages__1iz3wad) | public abstract | Tests if the message queue contains any messages | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CleanUp(IMessageQueue)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.cleanup_net.adamec.lib.common.actor.queue.imessagequeue___2qe93s) | public abstract | Called when the [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue | + | [Enqueue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.enqueue_net.adamec.lib.common.actor.message.envelope___13cgq6h) | public abstract | Enqueue an mailbox envelope onto the message queue | + | [TryDequeue(Envelope)](net.adamec.lib.common.actor.queue__1lh8qrc.md#m-net.adamec.lib.common.actor.queue.imessagequeue.trydequeue_net.adamec.lib.common.actor.message.envelope-___1jw22qo) | public abstract | Tries to pull an envelope of the message queue | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue.Count Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) +Sources: queue\IMessageQueue.cs + + +Returns the count of messages currently in the message queue + + + +```csharp +public abstract int Count { get; } +``` + +Property value
int
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue.HasMessages Property ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) +Sources: queue\IMessageQueue.cs + + +Tests if the message queue contains any messages + + + +```csharp +public abstract bool HasMessages { get; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue.CleanUp(IMessageQueue) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) +Sources: queue\IMessageQueue.cs + + +Called when the [IActorRef](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.iactorref__63mbv) this queue belongs to is de-registered. All remaining messages are transferred into the dead-letter queue + + + +```csharp +public abstract void CleanUp(IMessageQueue deadletters) +``` + +Method parameters
[net.adamec.lib.common.actor.queue.IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) deadletters
The dead letters message queue.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue.Enqueue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) +Sources: queue\IMessageQueue.cs + + +Enqueue an mailbox envelope onto the message queue + + + +```csharp +public abstract void Enqueue(Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The envelope to enqueue
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## IMessageQueue.TryDequeue(Envelope) Method ## +Namespace: [net.adamec.lib.common.actor.queue](net.adamec.lib.common.actor.queue__1lh8qrc.md#n-net.adamec.lib.common.actor.queue__1lh8qrc) +Assembly: net.adamec.lib.common.actor +Type: [IMessageQueue](net.adamec.lib.common.actor.queue__1lh8qrc.md#t-net.adamec.lib.common.actor.queue.imessagequeue__1ndgarl) +Sources: queue\IMessageQueue.cs + + +Tries to pull an envelope of the message queue + + + +```csharp +public abstract bool TryDequeue(out Envelope envelope) +``` + +Method parameters
[net.adamec.lib.common.actor.message.Envelope](net.adamec.lib.common.actor.message__m00bpk.md#t-net.adamec.lib.common.actor.message.envelope__5oxc3s) envelope
The envelope that was dequeued
+Return value
bool
`true` if there's a message in the queue. `false` otherwise.
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.extensions__1vwuhoq.html b/doc/net.adamec.lib.common.extensions__1vwuhoq.html new file mode 100644 index 0000000..584dc86 --- /dev/null +++ b/doc/net.adamec.lib.common.extensions__1vwuhoq.html @@ -0,0 +1,76 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.extensions Namespace

+

Classes

+ + +
NameModifierSummary
TypeExtensionsinternal staticSystem.Type extensions
+

+

Go to namespaces or types or source-only packages

+

+

TypeExtensions Class

+

Namespace: net.adamec.lib.common.extensions
+Assembly: net.adamec.lib.common.actor
+Sources: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
+Source-only packages: RadCommons.extensions.TypeExtensions.DefaultValue

+

System.Type extensions

+
internal static class TypeExtensions
+

Inheritance: object
+

+

Methods

+ + +
NameModifierSummary
GetDefaultValue(Type)public staticGets the default value of given type
+

+

Go to namespaces or types or source-only packages

+

+

TypeExtensions.GetDefaultValue(Type) Method

+

Namespace: net.adamec.lib.common.extensions
+Assembly: net.adamec.lib.common.actor
+Type: TypeExtensions
+Sources: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
+Source-only packages: RadCommons.extensions.TypeExtensions.DefaultValue

+

Gets the default value of given type

+
public static object GetDefaultValue(this Type type)
+Method parameters
System.Type type
+

Return value

object
Default value of given type . Null for non-value types, new instance for value types.

+

Exceptions

+

System.ArgumentNullException
type is null

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.extensions__1vwuhoq.md b/doc/net.adamec.lib.common.extensions__1vwuhoq.md new file mode 100644 index 0000000..69f8f13 --- /dev/null +++ b/doc/net.adamec.lib.common.extensions__1vwuhoq.md @@ -0,0 +1,82 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.extensions Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [TypeExtensions](net.adamec.lib.common.extensions__1vwuhoq.md#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) | internal static | System.Type extensions | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypeExtensions Class ## +Namespace: [net.adamec.lib.common.extensions](net.adamec.lib.common.extensions__1vwuhoq.md#n-net.adamec.lib.common.extensions__1vwuhoq) +Assembly: net.adamec.lib.common.actor +Sources: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs +Source-only packages: [RadCommons.extensions.TypeExtensions.DefaultValue](src-only-packages--.md#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) + + +System.Type extensions + + + +```csharp +internal static class TypeExtensions +``` + +Inheritance: object + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [GetDefaultValue(Type)](net.adamec.lib.common.extensions__1vwuhoq.md#m-net.adamec.lib.common.extensions.typeextensions.getdefaultvalue_system.type___vn2w69) | public static | Gets the default value of given type | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## TypeExtensions.GetDefaultValue(Type) Method ## +Namespace: [net.adamec.lib.common.extensions](net.adamec.lib.common.extensions__1vwuhoq.md#n-net.adamec.lib.common.extensions__1vwuhoq) +Assembly: net.adamec.lib.common.actor +Type: [TypeExtensions](net.adamec.lib.common.extensions__1vwuhoq.md#t-net.adamec.lib.common.extensions.typeextensions__63ezc8) +Sources: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs +Source-only packages: [RadCommons.extensions.TypeExtensions.DefaultValue](src-only-packages--.md#src-only-package--RadCommons.extensions.TypeExtensions.DefaultValue) + + +Gets the default value of given type + + + +```csharp +public static object GetDefaultValue(this Type type) +``` + +Method parameters
System.Type type
+Return value
object
Default value of given type . Null for non-value types, new instance for value types.
+ + +### Exceptions ### +
System.ArgumentNullException
type is null
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.logging__1g9pm29.html b/doc/net.adamec.lib.common.logging__1g9pm29.html new file mode 100644 index 0000000..66db5b7 --- /dev/null +++ b/doc/net.adamec.lib.common.logging__1g9pm29.html @@ -0,0 +1,1039 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.logging Namespace

+

Classes

+ + + +
NameModifierSummary
CommonLogginginternal staticILogger factory
LoggerExtinternalILogger extensions
+

+

Interfaces

+ + +
NameModifierSummary
ILoggerinternal abstractLogger interface - wrapper around the NLog.ILogger with some additional methods
+

+

Go to namespaces or types or source-only packages

+

+

CommonLogging Class

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

ILogger factory

+
internal static class CommonLogging
+

Inheritance: object
+

+

Methods

+ + + + +
NameModifierSummary
CreateLogger(string)public staticCreates the logger with given categoryName
CreateLogger(Type)public staticCreates the logger for given type. The name of the logger will be System.Type.FullName
CreateLogger<T>()public staticCreates the logger for given type. The name of the logger will be System.Type.FullName
+

+

Go to namespaces or types or source-only packages

+

+

CommonLogging.CreateLogger(string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: CommonLogging
+Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Creates the logger with given categoryName

+
public static ILogger CreateLogger(string categoryName)
+Method parameters
string categoryName
Name of the logger
+

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

+

Go to namespaces or types or source-only packages

+

+

CommonLogging.CreateLogger(Type) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: CommonLogging
+Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Creates the logger for given type. The name of the logger will be System.Type.FullName

+
public static ILogger CreateLogger(Type type)
+Method parameters
System.Type type
Type to create the logger for
+

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

+

Go to namespaces or types or source-only packages

+

+

CommonLogging.CreateLogger<T>() Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: CommonLogging
+Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Creates the logger for given type. The name of the logger will be System.Type.FullName

+
public static ILogger CreateLogger<T>()
+Type parameters
T
Type to create the logger for
+

Return value

net.adamec.lib.common.logging.ILogger
Logger instance

+

Go to namespaces or types or source-only packages

+

+

LoggerExt Class

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

ILogger extensions

+
internal class LoggerExt : Logger, ILogger
+

Inheritance: object -> NLog.Logger
+Implements: net.adamec.lib.common.logging.ILogger, NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress

+

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameModifierSummary
CreateException<TException>(string, Exception)private staticWrites the diagnostic message at the Fatal level. Creates and returns the exception of given type
Debug(Dictionary<string,object>, string)publicWrites the diagnostic message at the Debug level.
DebugCorr(string, string)publicWrites the diagnostic message at the Debug level with correlation ID.
Error(Dictionary<string,object>, Exception, string)publicWrites the diagnostic message at the Error level.
Error(Dictionary<string,object>, string)publicWrites the diagnostic message at the Error level.
Error<TException>(string, Exception)publicWrites the diagnostic message at the Error level. Creates and returns the exception of given type
ErrorCorr(string, Exception, string)publicWrites the diagnostic message at the Error level with correlation ID.
ErrorCorr(string, string)publicWrites the diagnostic message at the Error level with correlation ID.
ErrorCorr<TException>(string, LoggerExt.TException, string)publicWrites the diagnostic message at the Error level and returns the exception of given type
ErrorCorr<TException>(string, string, Exception)publicWrites the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type
ErrorFltr<TException>(LoggerExt.TException, string, bool)publicWrites the diagnostic message at the Error level and returns the exception of given type
ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool)publicWrites the diagnostic message at the Error level and returns the exception of given type
ErrorPassThrough(Exception, string)publicWrites the diagnostic message at the Error level and returns given exception
Fatal(Dictionary<string,object>, Exception, string)publicWrites the diagnostic message at the Fatal level.
Fatal(Dictionary<string,object>, string)publicWrites the diagnostic message at the Fatal level.
Fatal<TException>(string, Exception)publicWrites the diagnostic message at the Fatal level. Creates and returns the exception of given type
FatalCorr(string, Exception, string)publicWrites the diagnostic message at the Fatal level with correlation ID.
FatalCorr(string, string)publicWrites the diagnostic message at the Fatal level with correlation ID.
FatalCorr<TException>(string, LoggerExt.TException, string)publicWrites the diagnostic message at the Fatal level and returns the exception of given type
FatalCorr<TException>(string, string, Exception)publicWrites the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type
FatalFltr<TException>(LoggerExt.TException, string, bool)publicWrites the diagnostic message at the Fatal level and returns catchIt value.
FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool)publicWrites the diagnostic message at the Fatal level and returns catchIt value.
FatalPassThrough(Exception, string)publicWrites the diagnostic message at the Fatal level and returns given exception >
Info(Dictionary<string,object>, string)publicWrites the diagnostic message at the Info level.
InfoCorr(string, string)publicWrites the diagnostic message at the Info level with correlation ID.
LogIt(LogLevel, Dictionary<string,object>, string, Exception)privateWrites the item (message with optional event properties and exception) into the log
LogIt(LogLevel, string, Exception)privateWrites the item (message with optional exception) into the log
LogIt(LogLevel, string, string, Exception)privateWrites the item (message with optional exception) with correlation Id into the log
Trace(Dictionary<string,object>, string)publicWrites the diagnostic message at the Trace level.
TraceCorr(string, string)publicWrites the diagnostic message at the Trace level with correlation ID
Warn(Dictionary<string,object>, Exception, string)publicWrites the diagnostic message at the Warn level.
Warn(Dictionary<string,object>, string)publicWrites the diagnostic message at the Warn level.
WarnCorr(string, Exception, string)publicWrites the diagnostic message at the Warn level with correlation ID.
WarnCorr(string, string)publicWrites the diagnostic message at the Warn level with correlation ID.
+

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.CreateException<TException>(string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type

+
private static LoggerExt.TException CreateException<TException>(string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Created exception

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Debug(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Debug level.

+
public void Debug(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Debug(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.DebugCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Debug level with correlation ID.

+
public void DebugCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.DebugCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Error(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level.

+
public void Error(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.Error(Dictionary<string,object>, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Error(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level.

+
public void Error(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Error(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Error<TException>(string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level. Creates and returns the exception of given type

+
public LoggerExt.TException Error<TException>(string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: ILogger.Error<TException>(string, Exception)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID.

+
public void ErrorCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.ErrorCorr(string, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID.

+
public void ErrorCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.ErrorCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorCorr<TException>(string, LoggerExt.TException, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public LoggerExt.TException ErrorCorr<TException>(string correlationId, LoggerExt.TException exception, string message = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Pass-through exception
Implements: ILogger.ErrorCorr<TException>(string, ILogger.TException, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorCorr<TException>(string, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type

+
public LoggerExt.TException ErrorCorr<TException>(string correlationId, string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: ILogger.ErrorCorr<TException>(string, string, Exception)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorFltr<TException>(LoggerExt.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public bool ErrorFltr<TException>(LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter
Implements: ILogger.ErrorFltr<TException>(ILogger.TException, string, bool)

+

Example

+

The following code logs any exception without catching it (function returns false by default)

    try
+    {
+      ...
+    }
+    catch (Exception e) when (Logger.FatalFltr(e)) {}
The following code catch and log the ArgumentException and logs any other exception without catching it.
    try
+    {
+      ...
+    }
+    catch (ArgumentException e) when (Logger.ErrorFltr(e,catchIt:true)) {}
+    catch (Exception e) when (Logger.FatalFltr(e)) {}

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public bool ErrorFltrCorr<TException>(string correlationId, LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter
Implements: ILogger.ErrorFltrCorr<TException>(string, ILogger.TException, string, bool)

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(LoggerExt.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.ErrorPassThrough(Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns given exception

+
public Exception ErrorPassThrough(Exception exception, string message = null)
+Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

System.Exception
Pass-through exception
Implements: ILogger.ErrorPassThrough(Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Fatal(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level.

+
public void Fatal(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.Fatal(Dictionary<string,object>, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Fatal(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level.

+
public void Fatal(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Fatal(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Fatal<TException>(string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type

+
public LoggerExt.TException Fatal<TException>(string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: ILogger.Fatal<TException>(string, Exception)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID.

+
public void FatalCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.FatalCorr(string, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID.

+
public void FatalCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.FatalCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalCorr<TException>(string, LoggerExt.TException, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns the exception of given type

+
public LoggerExt.TException FatalCorr<TException>(string correlationId, LoggerExt.TException exception, string message = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Pass-through exception
Implements: ILogger.FatalCorr<TException>(string, ILogger.TException, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalCorr<TException>(string, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type

+
public LoggerExt.TException FatalCorr<TException>(string correlationId, string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: ILogger.FatalCorr<TException>(string, string, Exception)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalFltr<TException>(LoggerExt.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns catchIt value.

+
public bool FatalFltr<TException>(LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter
Implements: ILogger.FatalFltr<TException>(ILogger.TException, string, bool)

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(LoggerExt.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns catchIt value.

+
public bool FatalFltrCorr<TException>(string correlationId, LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter
Implements: ILogger.FatalFltrCorr<TException>(string, ILogger.TException, string, bool)

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(LoggerExt.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.FatalPassThrough(Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns given exception >

+
public Exception FatalPassThrough(Exception exception, string message = null)
+Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

System.Exception
Pass-through exception
Implements: ILogger.FatalPassThrough(Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Info(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Info level.

+
public void Info(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Info(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.InfoCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Info level with correlation ID.

+
public void InfoCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.InfoCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.LogIt(LogLevel, Dictionary<string,object>, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the item (message with optional event properties and exception) into the log

+
private void LogIt(LogLevel level, Dictionary<string,object> eventProperties, [Localizable(false)] string message, Exception exception = null)
+Method parameters
NLog.LogLevel level
Dictionary<string,object> eventProperties
Event properties (null when no properties are provided)
string message
Log message
System.Exception exception
Optional exception to be logged
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.LogIt(LogLevel, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the item (message with optional exception) into the log

+
private void LogIt(LogLevel level, [Localizable(false)] string message, Exception exception = null)
+Method parameters
NLog.LogLevel level
string message
Log message
System.Exception exception
Optional exception to be logged
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.LogIt(LogLevel, string, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the item (message with optional exception) with correlation Id into the log

+
private void LogIt(LogLevel level, string correlationId, [Localizable(false)] string message, Exception exception = null)
+Method parameters
NLog.LogLevel level
string correlationId
Correlation ID
string message
Log message
System.Exception exception
Optional exception to be logged
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Trace(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Trace level.

+
public void Trace(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Trace(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.TraceCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Trace level with correlation ID

+
public void TraceCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.TraceCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Warn(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level.

+
public void Warn(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.Warn(Dictionary<string,object>, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.Warn(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level.

+
public void Warn(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void
Implements: ILogger.Warn(Dictionary<string,object>, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.WarnCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level with correlation ID.

+
public void WarnCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void
Implements: ILogger.WarnCorr(string, Exception, string)

+

Go to namespaces or types or source-only packages

+

+

LoggerExt.WarnCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: LoggerExt
+Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level with correlation ID.

+
public void WarnCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void
Implements: ILogger.WarnCorr(string, string)

+

Go to namespaces or types or source-only packages

+

+

ILogger Interface

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Logger interface - wrapper around the NLog.ILogger with some additional methods

+
internal interface ILogger : ILogger
+

Implemented by: net.adamec.lib.common.logging.LoggerExt
+Implements: NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress

+

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameModifierSummary
Debug(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Debug level.
DebugCorr(string, string)public abstractWrites the diagnostic message at the Debug level with correlation ID.
Error(Dictionary<string,object>, Exception, string)public abstractWrites the diagnostic message at the Error level.
Error(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Error level.
Error<TException>(string, Exception)public abstractWrites the diagnostic message at the Error level. Creates and returns the exception of given type
ErrorCorr(string, Exception, string)public abstractWrites the diagnostic message at the Error level with correlation ID.
ErrorCorr(string, string)public abstractWrites the diagnostic message at the Error level with correlation ID.
ErrorCorr<TException>(string, ILogger.TException, string)public abstractWrites the diagnostic message at the Error level and returns the exception of given type
ErrorCorr<TException>(string, string, Exception)public abstractWrites the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type
ErrorFltr<TException>(ILogger.TException, string, bool)public abstractWrites the diagnostic message at the Error level and returns the exception of given type
ErrorFltrCorr<TException>(string, ILogger.TException, string, bool)public abstractWrites the diagnostic message at the Error level and returns the exception of given type
ErrorPassThrough(Exception, string)public abstractWrites the diagnostic message at the Error level and returns given exception
Fatal(Dictionary<string,object>, Exception, string)public abstractWrites the diagnostic message at the Fatal level.
Fatal(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Fatal level.
Fatal<TException>(string, Exception)public abstractWrites the diagnostic message at the Fatal level. Creates and returns the exception of given type
FatalCorr(string, Exception, string)public abstractWrites the diagnostic message at the Fatal level with correlation ID.
FatalCorr(string, string)public abstractWrites the diagnostic message at the Fatal level with correlation ID.
FatalCorr<TException>(string, ILogger.TException, string)public abstractWrites the diagnostic message at the Fatal level and returns the exception of given type
FatalCorr<TException>(string, string, Exception)public abstractWrites the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type
FatalFltr<TException>(ILogger.TException, string, bool)public abstractWrites the diagnostic message at the Fatal level and returns catchIt value.
FatalFltrCorr<TException>(string, ILogger.TException, string, bool)public abstractWrites the diagnostic message at the Fatal level and returns catchIt value.
FatalPassThrough(Exception, string)public abstractWrites the diagnostic message at the Fatal level and returns given exception
Info(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Info level.
InfoCorr(string, string)public abstractWrites the diagnostic message at the Info level with correlation ID.
Trace(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Trace level.
TraceCorr(string, string)public abstractWrites the diagnostic message at the Trace level with correlation ID.
Warn(Dictionary<string,object>, Exception, string)public abstractWrites the diagnostic message at the Warn level.
Warn(Dictionary<string,object>, string)public abstractWrites the diagnostic message at the Warn level.
WarnCorr(string, Exception, string)public abstractWrites the diagnostic message at the Warn level with correlation ID.
WarnCorr(string, string)public abstractWrites the diagnostic message at the Warn level with correlation ID.
+

+

Go to namespaces or types or source-only packages

+

+

ILogger.Debug(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Debug level.

+
public abstract void Debug(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.DebugCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Debug level with correlation ID.

+
public abstract void DebugCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Error(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level.

+
public abstract void Error(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Error(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level.

+
public abstract void Error(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Error<TException>(string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level. Creates and returns the exception of given type

+
public abstract ILogger.TException Error<TException>(string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Created exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID.

+
public abstract void ErrorCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID.

+
public abstract void ErrorCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorCorr<TException>(string, ILogger.TException, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public abstract ILogger.TException ErrorCorr<TException>(string correlationId, ILogger.TException exception, string message = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Pass-through exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorCorr<TException>(string, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type

+
public abstract ILogger.TException ErrorCorr<TException>(string correlationId, string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Created exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorFltr<TException>(ILogger.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public abstract bool ErrorFltr<TException>(ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter

+

Example

+

The following code logs any exception without catching it (function returns false by default)

    try
+    {
+      ...
+    }
+    catch (Exception e) when (Logger.FatalFltr(e)) {}
The following code catch and log the ArgumentException and logs any other exception without catching it.
    try
+    {
+      ...
+    }
+    catch (ArgumentException e) when (Logger.ErrorFltr(e,catchIt:true)) {}
+    catch (Exception e) when (Logger.FatalFltr(e)) {}

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorFltrCorr<TException>(string, ILogger.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns the exception of given type

+
public abstract bool ErrorFltrCorr<TException>(string correlationId, ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(ILogger.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

ILogger.ErrorPassThrough(Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Error level and returns given exception

+
public abstract Exception ErrorPassThrough(Exception exception, string message = null)
+Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

System.Exception
Pass-through exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.Fatal(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level.

+
public abstract void Fatal(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Fatal(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level.

+
public abstract void Fatal(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Fatal<TException>(string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type

+
public abstract ILogger.TException Fatal<TException>(string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Created exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID.

+
public abstract void FatalCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID.

+
public abstract void FatalCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalCorr<TException>(string, ILogger.TException, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns the exception of given type

+
public abstract ILogger.TException FatalCorr<TException>(string correlationId, ILogger.TException exception, string message = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Pass-through exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalCorr<TException>(string, string, Exception) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type

+
public abstract ILogger.TException FatalCorr<TException>(string correlationId, string message, Exception innerException = null) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+

Return value

net.adamec.lib.common.logging.ILogger.TException
Created exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalFltr<TException>(ILogger.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns catchIt value.

+
public abstract bool FatalFltr<TException>(ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(ILogger.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalFltrCorr<TException>(string, ILogger.TException, string, bool) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns catchIt value.

+
public abstract bool FatalFltrCorr<TException>(string correlationId, ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception
+Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+

Return value

bool
Flag whether the exception is to be catch by exception filter

+

Remarks

+

This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created)

+

See Also

+

ErrorFltr<TException>(ILogger.TException, string, bool)

+

Go to namespaces or types or source-only packages

+

+

ILogger.FatalPassThrough(Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Fatal level and returns given exception

+
public abstract Exception FatalPassThrough(Exception exception, string message = null)
+Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

System.Exception
Pass-through exception

+

Go to namespaces or types or source-only packages

+

+

ILogger.Info(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Info level.

+
public abstract void Info(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.InfoCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Info level with correlation ID.

+
public abstract void InfoCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Trace(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Trace level.

+
public abstract void Trace(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.TraceCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Trace level with correlation ID.

+
public abstract void TraceCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Warn(Dictionary<string,object>, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level.

+
public abstract void Warn(Dictionary<string,object> eventProperties, Exception exception, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.Warn(Dictionary<string,object>, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level.

+
public abstract void Warn(Dictionary<string,object> eventProperties, [Localizable(false)] string message)
+Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.WarnCorr(string, Exception, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level with correlation ID.

+
public abstract void WarnCorr(string correlationId, Exception exception, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

ILogger.WarnCorr(string, string) Method

+

Namespace: net.adamec.lib.common.logging
+Assembly: net.adamec.lib.common.actor
+Type: ILogger
+Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
+Source-only packages: RadCommons.logging.CommonLogging

+

Writes the diagnostic message at the Warn level with correlation ID.

+
public abstract void WarnCorr(string correlationId, [Localizable(false)] string message)
+Method parameters
string correlationId
Correlation ID
string message
Log message.
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.logging__1g9pm29.md b/doc/net.adamec.lib.common.logging__1g9pm29.md new file mode 100644 index 0000000..1429b55 --- /dev/null +++ b/doc/net.adamec.lib.common.logging__1g9pm29.md @@ -0,0 +1,2055 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.logging Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CommonLogging](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) | internal static | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory | + | [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) | internal | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions | + + + + +### Interfaces ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) | internal abstract | Logger interface - wrapper around the NLog.ILogger with some additional methods | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## CommonLogging Class ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +[ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory + + + +```csharp +internal static class CommonLogging +``` + +Inheritance: object + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CreateLogger(string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.string___wn77if) | public static | Creates the logger with given categoryName | + | [CreateLogger(Type)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.type___uhum9e) | public static | Creates the logger for given type. The name of the logger will be System.Type.FullName | + | [CreateLogger<T>()](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger--1__lp2vax) | public static | Creates the logger for given type. The name of the logger will be System.Type.FullName | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## CommonLogging.CreateLogger(string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [CommonLogging](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) +Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Creates the logger with given categoryName + + + +```csharp +public static ILogger CreateLogger(string categoryName) +``` + +Method parameters
string categoryName
Name of the logger
+Return value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## CommonLogging.CreateLogger(Type) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [CommonLogging](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) +Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Creates the logger for given type. The name of the logger will be System.Type.FullName + + + +```csharp +public static ILogger CreateLogger(Type type) +``` + +Method parameters
System.Type type
Type to create the logger for
+Return value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## CommonLogging.CreateLogger<T>() Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [CommonLogging](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb) +Sources: App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Creates the logger for given type. The name of the logger will be System.Type.FullName + + + +```csharp +public static ILogger CreateLogger() +``` + +Type parameters
T
Type to create the logger for
+Return value
[net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger instance
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt Class ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +[ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions + + + +```csharp +internal class LoggerExt : Logger, ILogger +``` + +Inheritance: object -> NLog.Logger +Implements: [net.adamec.lib.common.logging.ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm), NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [CreateException<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.createexception--1_system.string-system.exception___1wtd924) | private static | Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type | + | [Debug(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.debug_system.collections.generic.dictionary_system.string-system.object_-system.string___by66ma) | public | Writes the diagnostic message at the `Debug` level. | + | [DebugCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.debugcorr_system.string-system.string___i119af) | public | Writes the diagnostic message at the `Debug` level with correlation ID. | + | [Error(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___7fy00h) | public | Writes the diagnostic message at the `Error` level. | + | [Error(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error_system.collections.generic.dictionary_system.string-system.object_-system.string___u5pc5h) | public | Writes the diagnostic message at the `Error` level. | + | [Error<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error--1_system.string-system.exception___1qowqgx) | public | Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type | + | [ErrorCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr_system.string-system.exception-system.string___1tdd1hu) | public | Writes the diagnostic message at the `Error` level with correlation ID. | + | [ErrorCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr_system.string-system.string___1vt0qk2) | public | Writes the diagnostic message at the `Error` level with correlation ID. | + | [ErrorCorr<TException>(string, LoggerExt.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr--1_system.string---0-system.string___bk3vj3) | public | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr--1_system.string-system.string-system.exception___4hcjn7) | public | Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type | + | [ErrorFltr<TException>(LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltr--1_--0-system.string-system.boolean___ipfsfa) | public | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltrcorr--1_system.string---0-system.string-system.boolean___84xqu8) | public | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorpassthrough_system.exception-system.string___1ey2kd0) | public | Writes the diagnostic message at the `Error` level and returns given exception | + | [Fatal(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___pw9hcn) | public | Writes the diagnostic message at the `Fatal` level. | + | [Fatal(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal_system.collections.generic.dictionary_system.string-system.object_-system.string___1ff2uef) | public | Writes the diagnostic message at the `Fatal` level. | + | [Fatal<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal--1_system.string-system.exception___1myw0tj) | public | Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type | + | [FatalCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr_system.string-system.exception-system.string___1q1adwi) | public | Writes the diagnostic message at the `Fatal` level with correlation ID. | + | [FatalCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr_system.string-system.string___c131ta) | public | Writes the diagnostic message at the `Fatal` level with correlation ID. | + | [FatalCorr<TException>(string, LoggerExt.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr--1_system.string---0-system.string___17i1735) | public | Writes the diagnostic message at the `Fatal` level and returns the exception of given type | + | [FatalCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr--1_system.string-system.string-system.exception___w1l5gt) | public | Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type | + | [FatalFltr<TException>(LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalfltr--1_--0-system.string-system.boolean___5rdjqe) | public | Writes the diagnostic message at the `Fatal` level and returns catchIt value. | + | [FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalfltrcorr--1_system.string---0-system.string-system.boolean___15t2hh0) | public | Writes the diagnostic message at the `Fatal` level and returns catchIt value. | + | [FatalPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalpassthrough_system.exception-system.string___10psm2o) | public | Writes the diagnostic message at the `Fatal` level and returns given exception > | + | [Info(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.info_system.collections.generic.dictionary_system.string-system.object_-system.string___1qxds6b) | public | Writes the diagnostic message at the `Info` level. | + | [InfoCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.infocorr_system.string-system.string___3vobha) | public | Writes the diagnostic message at the `Info` level with correlation ID. | + | [LogIt(LogLevel, Dictionary<string,object>, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.collections.generic.dictionary_system.string-system.object_-system.string-system.exception___5yngu4) | private | Writes the item (message with optional event properties and exception) into the log | + | [LogIt(LogLevel, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.string-system.exception___hxtfrf) | private | Writes the item (message with optional exception) into the log | + | [LogIt(LogLevel, string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.string-system.string-system.exception___1l4ejwt) | private | Writes the item (message with optional exception) with correlation Id into the log | + | [Trace(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.trace_system.collections.generic.dictionary_system.string-system.object_-system.string___1k5wn70) | public | Writes the diagnostic message at the `Trace` level. | + | [TraceCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.tracecorr_system.string-system.string___1e218kz) | public | Writes the diagnostic message at the `Trace` level with correlation ID | + | [Warn(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warn_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___8kyvvj) | public | Writes the diagnostic message at the `Warn` level. | + | [Warn(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warn_system.collections.generic.dictionary_system.string-system.object_-system.string___wuc2dz) | public | Writes the diagnostic message at the `Warn` level. | + | [WarnCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warncorr_system.string-system.exception-system.string___sfdb1u) | public | Writes the diagnostic message at the `Warn` level with correlation ID. | + | [WarnCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warncorr_system.string-system.string___cfr64e) | public | Writes the diagnostic message at the `Warn` level with correlation ID. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.CreateException<TException>(string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type + + + +```csharp +private static LoggerExt.TException CreateException(string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Created exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Debug(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Debug` level. + + + +```csharp +public void Debug(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Debug(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debug_system.collections.generic.dictionary_system.string-system.object_-system.string___jxdraq) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.DebugCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Debug` level with correlation ID. + + + +```csharp +public void DebugCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.DebugCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debugcorr_system.string-system.string___aozvfj) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Error(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. + + + +```csharp +public void Error(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.Error(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___1watp5d) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Error(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. + + + +```csharp +public void Error(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Error(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.string___kfa9gl) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Error<TException>(string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type + + + +```csharp +public LoggerExt.TException Error(string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: [ILogger.Error<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error--1_system.string-system.exception___pmrssh) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. + + + +```csharp +public void ErrorCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.ErrorCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.exception-system.string___1qll13u) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. + + + +```csharp +public void ErrorCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.ErrorCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.string___coifvu) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorCorr<TException>(string, LoggerExt.TException, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public LoggerExt.TException ErrorCorr(string correlationId, LoggerExt.TException exception, string message = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Pass-through exception
Implements: [ILogger.ErrorCorr<TException>(string, ILogger.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string---0-system.string___eypxkv) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorCorr<TException>(string, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type + + + +```csharp +public LoggerExt.TException ErrorCorr(string correlationId, string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: [ILogger.ErrorCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string-system.string-system.exception___91akh7) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorFltr<TException>(LoggerExt.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public bool ErrorFltr(LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
Implements: [ILogger.ErrorFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm) + + +### Example ### +The following code logs any exception without catching it (function returns false by default) +```csharp + try + { + ... + } + catch (Exception e) when (Logger.FatalFltr(e)) {} +``` + The following code catch and log the ArgumentException and logs any other exception without catching it. +```csharp + try + { + ... + } + catch (ArgumentException e) when (Logger.ErrorFltr(e,catchIt:true)) {} + catch (Exception e) when (Logger.FatalFltr(e)) {} +``` + + + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public bool ErrorFltrCorr(string correlationId, LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
Implements: [ILogger.ErrorFltrCorr<TException>(string, ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltrcorr--1_system.string---0-system.string-system.boolean___1spds2w) + + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltr--1_--0-system.string-system.boolean___ipfsfa) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.ErrorPassThrough(Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns given exception + + + +```csharp +public Exception ErrorPassThrough(Exception exception, string message = null) +``` + +Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
System.Exception
Pass-through exception
Implements: [ILogger.ErrorPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorpassthrough_system.exception-system.string___1vc33gk) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Fatal(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. + + + +```csharp +public void Fatal(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.Fatal(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___175gumn) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Fatal(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. + + + +```csharp +public void Fatal(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Fatal(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.string___1yxmkzz) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Fatal<TException>(string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type + + + +```csharp +public LoggerExt.TException Fatal(string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: [ILogger.Fatal<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal--1_system.string-system.exception___x5u73) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. + + + +```csharp +public void FatalCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.FatalCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.exception-system.string___yt34nm) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. + + + +```csharp +public void FatalCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.FatalCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.string___ufcx32) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalCorr<TException>(string, LoggerExt.TException, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns the exception of given type + + + +```csharp +public LoggerExt.TException FatalCorr(string correlationId, LoggerExt.TException exception, string message = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Pass-through exception
Implements: [ILogger.FatalCorr<TException>(string, ILogger.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string---0-system.string___108vdu1) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalCorr<TException>(string, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type + + + +```csharp +public LoggerExt.TException FatalCorr(string correlationId, string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.LoggerExt.TException
Created exception
Implements: [ILogger.FatalCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string-system.string-system.exception___1hlu7x) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalFltr<TException>(LoggerExt.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns catchIt value. + + + +```csharp +public bool FatalFltr(LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
Implements: [ILogger.FatalFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltr--1_--0-system.string-system.boolean___1av7ixa) + + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltr--1_--0-system.string-system.boolean___ipfsfa) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns catchIt value. + + + +```csharp +public bool FatalFltrCorr(string correlationId, LoggerExt.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.LoggerExt.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
Implements: [ILogger.FatalFltrCorr<TException>(string, ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltrcorr--1_system.string---0-system.string-system.boolean___a9m338) + + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(LoggerExt.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltr--1_--0-system.string-system.boolean___ipfsfa) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.FatalPassThrough(Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns given exception > + + + +```csharp +public Exception FatalPassThrough(Exception exception, string message = null) +``` + +Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
System.Exception
Pass-through exception
Implements: [ILogger.FatalPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalpassthrough_system.exception-system.string___1fx8xs8) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Info(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Info` level. + + + +```csharp +public void Info(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Info(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.info_system.collections.generic.dictionary_system.string-system.object_-system.string___1kbhewr) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.InfoCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Info` level with correlation ID. + + + +```csharp +public void InfoCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.InfoCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.infocorr_system.string-system.string___2iypny) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.LogIt(LogLevel, Dictionary<string,object>, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the item (message with optional event properties and exception) into the log + + + +```csharp +private void LogIt(LogLevel level, Dictionary eventProperties, [Localizable(false)] string message, Exception exception = null) +``` + +Method parameters
NLog.LogLevel level
Dictionary<string,object> eventProperties
Event properties (null when no properties are provided)
string message
Log message
System.Exception exception
Optional exception to be logged
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.LogIt(LogLevel, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the item (message with optional exception) into the log + + + +```csharp +private void LogIt(LogLevel level, [Localizable(false)] string message, Exception exception = null) +``` + +Method parameters
NLog.LogLevel level
string message
Log message
System.Exception exception
Optional exception to be logged
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.LogIt(LogLevel, string, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the item (message with optional exception) with correlation Id into the log + + + +```csharp +private void LogIt(LogLevel level, string correlationId, [Localizable(false)] string message, Exception exception = null) +``` + +Method parameters
NLog.LogLevel level
string correlationId
Correlation ID
string message
Log message
System.Exception exception
Optional exception to be logged
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Trace(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Trace` level. + + + +```csharp +public void Trace(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Trace(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.trace_system.collections.generic.dictionary_system.string-system.object_-system.string___15kc02k) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.TraceCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Trace` level with correlation ID + + + +```csharp +public void TraceCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.TraceCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.tracecorr_system.string-system.string___1bdni2z) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Warn(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level. + + + +```csharp +public void Warn(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.Warn(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___10z37vj) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.Warn(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level. + + + +```csharp +public void Warn(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
Implements: [ILogger.Warn(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.string___1hy0rp3) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.WarnCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level with correlation ID. + + + +```csharp +public void WarnCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
Implements: [ILogger.WarnCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.exception-system.string___1kh0i9m) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## LoggerExt.WarnCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Sources: App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level with correlation ID. + + + +```csharp +public void WarnCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
Implements: [ILogger.WarnCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.string___pr2tiu) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger Interface ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Logger interface - wrapper around the NLog.ILogger with some additional methods + + + +```csharp +internal interface ILogger : ILogger +``` + +Implemented by: [net.adamec.lib.common.logging.LoggerExt](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2) +Implements: NLog.ILogger, NLog.ILoggerBase, NLog.ISuppress + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Debug(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debug_system.collections.generic.dictionary_system.string-system.object_-system.string___jxdraq) | public abstract | Writes the diagnostic message at the `Debug` level. | + | [DebugCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debugcorr_system.string-system.string___aozvfj) | public abstract | Writes the diagnostic message at the `Debug` level with correlation ID. | + | [Error(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___1watp5d) | public abstract | Writes the diagnostic message at the `Error` level. | + | [Error(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.string___kfa9gl) | public abstract | Writes the diagnostic message at the `Error` level. | + | [Error<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error--1_system.string-system.exception___pmrssh) | public abstract | Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type | + | [ErrorCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.exception-system.string___1qll13u) | public abstract | Writes the diagnostic message at the `Error` level with correlation ID. | + | [ErrorCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.string___coifvu) | public abstract | Writes the diagnostic message at the `Error` level with correlation ID. | + | [ErrorCorr<TException>(string, ILogger.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string---0-system.string___eypxkv) | public abstract | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string-system.string-system.exception___91akh7) | public abstract | Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type | + | [ErrorFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm) | public abstract | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorFltrCorr<TException>(string, ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltrcorr--1_system.string---0-system.string-system.boolean___1spds2w) | public abstract | Writes the diagnostic message at the `Error` level and returns the exception of given type | + | [ErrorPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorpassthrough_system.exception-system.string___1vc33gk) | public abstract | Writes the diagnostic message at the `Error` level and returns given exception | + | [Fatal(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___175gumn) | public abstract | Writes the diagnostic message at the `Fatal` level. | + | [Fatal(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.string___1yxmkzz) | public abstract | Writes the diagnostic message at the `Fatal` level. | + | [Fatal<TException>(string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal--1_system.string-system.exception___x5u73) | public abstract | Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type | + | [FatalCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.exception-system.string___yt34nm) | public abstract | Writes the diagnostic message at the `Fatal` level with correlation ID. | + | [FatalCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.string___ufcx32) | public abstract | Writes the diagnostic message at the `Fatal` level with correlation ID. | + | [FatalCorr<TException>(string, ILogger.TException, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string---0-system.string___108vdu1) | public abstract | Writes the diagnostic message at the `Fatal` level and returns the exception of given type | + | [FatalCorr<TException>(string, string, Exception)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string-system.string-system.exception___1hlu7x) | public abstract | Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type | + | [FatalFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltr--1_--0-system.string-system.boolean___1av7ixa) | public abstract | Writes the diagnostic message at the `Fatal` level and returns catchIt value. | + | [FatalFltrCorr<TException>(string, ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltrcorr--1_system.string---0-system.string-system.boolean___a9m338) | public abstract | Writes the diagnostic message at the `Fatal` level and returns catchIt value. | + | [FatalPassThrough(Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalpassthrough_system.exception-system.string___1fx8xs8) | public abstract | Writes the diagnostic message at the `Fatal` level and returns given exception | + | [Info(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.info_system.collections.generic.dictionary_system.string-system.object_-system.string___1kbhewr) | public abstract | Writes the diagnostic message at the `Info` level. | + | [InfoCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.infocorr_system.string-system.string___2iypny) | public abstract | Writes the diagnostic message at the `Info` level with correlation ID. | + | [Trace(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.trace_system.collections.generic.dictionary_system.string-system.object_-system.string___15kc02k) | public abstract | Writes the diagnostic message at the `Trace` level. | + | [TraceCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.tracecorr_system.string-system.string___1bdni2z) | public abstract | Writes the diagnostic message at the `Trace` level with correlation ID. | + | [Warn(Dictionary<string,object>, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___10z37vj) | public abstract | Writes the diagnostic message at the `Warn` level. | + | [Warn(Dictionary<string,object>, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.string___1hy0rp3) | public abstract | Writes the diagnostic message at the `Warn` level. | + | [WarnCorr(string, Exception, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.exception-system.string___1kh0i9m) | public abstract | Writes the diagnostic message at the `Warn` level with correlation ID. | + | [WarnCorr(string, string)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.string___pr2tiu) | public abstract | Writes the diagnostic message at the `Warn` level with correlation ID. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Debug(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Debug` level. + + + +```csharp +public abstract void Debug(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.DebugCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Debug` level with correlation ID. + + + +```csharp +public abstract void DebugCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Error(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. + + + +```csharp +public abstract void Error(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Error(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. + + + +```csharp +public abstract void Error(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Error<TException>(string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type + + + +```csharp +public abstract ILogger.TException Error(string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.ILogger.TException
Created exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. + + + +```csharp +public abstract void ErrorCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. + + + +```csharp +public abstract void ErrorCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorCorr<TException>(string, ILogger.TException, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public abstract ILogger.TException ErrorCorr(string correlationId, ILogger.TException exception, string message = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
+Return value
net.adamec.lib.common.logging.ILogger.TException
Pass-through exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorCorr<TException>(string, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type + + + +```csharp +public abstract ILogger.TException ErrorCorr(string correlationId, string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.ILogger.TException
Created exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorFltr<TException>(ILogger.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public abstract bool ErrorFltr(ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
+ + +### Example ### +The following code logs any exception without catching it (function returns false by default) +```csharp + try + { + ... + } + catch (Exception e) when (Logger.FatalFltr(e)) {} +``` + The following code catch and log the ArgumentException and logs any other exception without catching it. +```csharp + try + { + ... + } + catch (ArgumentException e) when (Logger.ErrorFltr(e,catchIt:true)) {} + catch (Exception e) when (Logger.FatalFltr(e)) {} +``` + + + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorFltrCorr<TException>(string, ILogger.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns the exception of given type + + + +```csharp +public abstract bool ErrorFltrCorr(string correlationId, ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
+ + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.ErrorPassThrough(Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Error` level and returns given exception + + + +```csharp +public abstract Exception ErrorPassThrough(Exception exception, string message = null) +``` + +Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
System.Exception
Pass-through exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Fatal(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. + + + +```csharp +public abstract void Fatal(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Fatal(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. + + + +```csharp +public abstract void Fatal(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Fatal<TException>(string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type + + + +```csharp +public abstract ILogger.TException Fatal(string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.ILogger.TException
Created exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. + + + +```csharp +public abstract void FatalCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. + + + +```csharp +public abstract void FatalCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalCorr<TException>(string, ILogger.TException, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns the exception of given type + + + +```csharp +public abstract ILogger.TException FatalCorr(string correlationId, ILogger.TException exception, string message = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
+Return value
net.adamec.lib.common.logging.ILogger.TException
Pass-through exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalCorr<TException>(string, string, Exception) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type + + + +```csharp +public abstract ILogger.TException FatalCorr(string correlationId, string message, Exception innerException = null) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
string message
Log message.
System.Exception innerException
Exception to be logged
+Return value
net.adamec.lib.common.logging.ILogger.TException
Created exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalFltr<TException>(ILogger.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns catchIt value. + + + +```csharp +public abstract bool FatalFltr(ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
+ + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalFltrCorr<TException>(string, ILogger.TException, string, bool) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns catchIt value. + + + +```csharp +public abstract bool FatalFltrCorr(string correlationId, ILogger.TException exception, string message = null, bool catchIt = false) where TException: Exception +``` + +Type parameters
TException
+Method parameters
string correlationId
Correlation ID
net.adamec.lib.common.logging.ILogger.TException exception
Exception to be logged
string message
Log message.
bool catchIt
Flag whether the exception is to be catch by filter (default is false)
+Return value
bool
Flag whether the exception is to be catch by exception filter
+ + +### Remarks ### +This function is intended for catch exception filters. The parameter catchIt defines whether the exception filter will be applied after logging. The exception will be catch when catchIt is true, otherwise the filter is evaluated as false and it will continue with finding the catch clause (in both cases the log entry will be created) + + +### See Also ### +[ErrorFltr<TException>(ILogger.TException, string, bool)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm) + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.FatalPassThrough(Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Fatal` level and returns given exception + + + +```csharp +public abstract Exception FatalPassThrough(Exception exception, string message = null) +``` + +Method parameters
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
System.Exception
Pass-through exception
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Info(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Info` level. + + + +```csharp +public abstract void Info(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.InfoCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Info` level with correlation ID. + + + +```csharp +public abstract void InfoCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Trace(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Trace` level. + + + +```csharp +public abstract void Trace(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.TraceCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Trace` level with correlation ID. + + + +```csharp +public abstract void TraceCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Warn(Dictionary<string,object>, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level. + + + +```csharp +public abstract void Warn(Dictionary eventProperties, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.Warn(Dictionary<string,object>, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level. + + + +```csharp +public abstract void Warn(Dictionary eventProperties, [Localizable(false)] string message) +``` + +Method parameters
Dictionary<string,object> eventProperties
Event properties
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.WarnCorr(string, Exception, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level with correlation ID. + + + +```csharp +public abstract void WarnCorr(string correlationId, Exception exception, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
System.Exception exception
Exception to be logged
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## ILogger.WarnCorr(string, string) Method ## +Namespace: [net.adamec.lib.common.logging](net.adamec.lib.common.logging__1g9pm29.md#n-net.adamec.lib.common.logging__1g9pm29) +Assembly: net.adamec.lib.common.actor +Type: [ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) +Sources: App_Packages\RadCommons.logging.CommonLogging\ILogger.cs +Source-only packages: [RadCommons.logging.CommonLogging](src-only-packages--.md#src-only-package--RadCommons.logging.CommonLogging) + + +Writes the diagnostic message at the `Warn` level with correlation ID. + + + +```csharp +public abstract void WarnCorr(string correlationId, [Localizable(false)] string message) +``` + +Method parameters
string correlationId
Correlation ID
string message
Log message.
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/net.adamec.lib.common.utils__7vdji9.html b/doc/net.adamec.lib.common.utils__7vdji9.html new file mode 100644 index 0000000..8f0ea80 --- /dev/null +++ b/doc/net.adamec.lib.common.utils__7vdji9.html @@ -0,0 +1,165 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

net.adamec.lib.common.utils Namespace

+

Classes

+ + +
NameModifierSummary
BaseDisposablepublic abstractHelper class for implementation of System.IDisposable types
+

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable Class

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Helper class for implementation of System.IDisposable types

+
public abstract class BaseDisposable : IDisposable
+

Inheritance: object
+Derived: net.adamec.lib.common.actor.actorsystem.ActorSystem, net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher, net.adamec.lib.common.actor.actor.Actor, net.adamec.lib.common.actor.actor.SyncActor
+Implements: IDisposable

+

Properties

+ + + + +
NameModifierSummary
DisposedpublicFlag whether the object is fully disposed
DisposedManagedpublicFlag whether the managed resources are disposed
DisposedNativepublicFlag whether the native resources are disposed
+

+

Destructor

+ + +
NameModifierSummary
~BaseDisposable()protected
+

+

Methods

+ + + + + +
NameModifierSummary
Dispose()publicDispose the object
Dispose(bool)protectedInternal implementation of dispose - free the managed and native resources using the respective methods
DisposeManaged()protectedDispose any disposable managed fields or properties.
DisposeNative()protectedDispose of COM objects, Handles, etc. Then set those objects to null.
+

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.Disposed Property

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Flag whether the object is fully disposed

+
public bool Disposed { get; private set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.DisposedManaged Property

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Flag whether the managed resources are disposed

+
public bool DisposedManaged { get; private set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.DisposedNative Property

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Flag whether the native resources are disposed

+
public bool DisposedNative { get; private set; }
+

Property value

bool

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.~BaseDisposable() Destructor

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+
 ~BaseDisposable()
+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.Dispose() Method

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Dispose the object

+
public void Dispose()
+

Return value

void
Implements: IDisposable.Dispose

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.Dispose(bool) Method

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Internal implementation of dispose - free the managed and native resources using the respective methods

+
protected virtual void Dispose(bool disposing)
+Method parameters
bool disposing
Flag whether the object is disposing (called from Dispose() method). False if called from destructor
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.DisposeManaged() Method

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Dispose any disposable managed fields or properties.

+
protected virtual void DisposeManaged()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+

BaseDisposable.DisposeNative() Method

+

Namespace: net.adamec.lib.common.utils
+Assembly: net.adamec.lib.common.actor
+Type: BaseDisposable
+Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+Source-only packages: RadCommons.utils.BaseDisposable

+

Dispose of COM objects, Handles, etc. Then set those objects to null.

+
protected virtual void DisposeNative()
+

Return value

void

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/net.adamec.lib.common.utils__7vdji9.md b/doc/net.adamec.lib.common.utils__7vdji9.md new file mode 100644 index 0000000..edbc257 --- /dev/null +++ b/doc/net.adamec.lib.common.utils__7vdji9.md @@ -0,0 +1,271 @@ +# RAD Actor System Documentation # +## net.adamec.lib.common.utils Namespace ## +### Classes ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) | public abstract | Helper class for implementation of System.IDisposable types | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable Class ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Helper class for implementation of System.IDisposable types + + + +```csharp +public abstract class BaseDisposable : IDisposable +``` + +Inheritance: object +Derived: [net.adamec.lib.common.actor.actorsystem.ActorSystem](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystem__2jlyi3), [net.adamec.lib.common.actor.actorsystem.ActorSystemDispatcher](net.adamec.lib.common.actor.actorsystem__1ihx1md.md#t-net.adamec.lib.common.actor.actorsystem.actorsystemdispatcher__1p6wtbe), [net.adamec.lib.common.actor.actor.Actor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.actor__buuxwr), [net.adamec.lib.common.actor.actor.SyncActor](net.adamec.lib.common.actor.actor__1ldg5ba.md#t-net.adamec.lib.common.actor.actor.syncactor__cgt0u6) +Implements: IDisposable + + +### Properties ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Disposed](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposed__nxq2fp) | public | Flag whether the object is fully disposed | + | [DisposedManaged](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposedmanaged__1pm7df6) | public | Flag whether the managed resources are disposed | + | [DisposedNative](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposednative__fqjn7i) | public | Flag whether the native resources are disposed | + + + + +### Destructor ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [~BaseDisposable()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.finalize__1l3n8dl) | protected | | + + + + +### Methods ### + + | Name | Modifier | Summary | + | ------ | ---------- | --------- | + | [Dispose()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri) | public | Dispose the object | + | [Dispose(bool)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.dispose_system.boolean___1vzs8w4) | protected | Internal implementation of dispose - free the managed and native resources using the respective methods | + | [DisposeManaged()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85) | protected | Dispose any disposable managed fields or properties. | + | [DisposeNative()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposenative__uaa3i9) | protected | Dispose of COM objects, Handles, etc. Then set those objects to null. | + + + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.Disposed Property ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Flag whether the object is fully disposed + + + +```csharp +public bool Disposed { get; private set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.DisposedManaged Property ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Flag whether the managed resources are disposed + + + +```csharp +public bool DisposedManaged { get; private set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.DisposedNative Property ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Flag whether the native resources are disposed + + + +```csharp +public bool DisposedNative { get; private set; } +``` + +Property value
bool
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.~BaseDisposable() Destructor ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + + +```csharp + ~BaseDisposable() +``` + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.Dispose() Method ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Dispose the object + + + +```csharp +public void Dispose() +``` + +Return value
void
Implements: IDisposable.Dispose + + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.Dispose(bool) Method ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Internal implementation of dispose - free the managed and native resources using the respective methods + + + +```csharp +protected virtual void Dispose(bool disposing) +``` + +Method parameters
bool disposing
Flag whether the object is disposing (called from [Dispose()](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri) method). False if called from destructor
+Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.DisposeManaged() Method ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Dispose any disposable managed fields or properties. + + + +```csharp +protected virtual void DisposeManaged() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## BaseDisposable.DisposeNative() Method ## +Namespace: [net.adamec.lib.common.utils](net.adamec.lib.common.utils__7vdji9.md#n-net.adamec.lib.common.utils__7vdji9) +Assembly: net.adamec.lib.common.actor +Type: [BaseDisposable](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps) +Sources: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs +Source-only packages: [RadCommons.utils.BaseDisposable](src-only-packages--.md#src-only-package--RadCommons.utils.BaseDisposable) + + +Dispose of COM objects, Handles, etc. Then set those objects to null. + + + +```csharp +protected virtual void DisposeNative() +``` + +Return value
void
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/doc/src-only-packages--.html b/doc/src-only-packages--.html new file mode 100644 index 0000000..98f3fbe --- /dev/null +++ b/doc/src-only-packages--.html @@ -0,0 +1,66 @@ + + + +RAD Actor System Documentation + + + + + + + +

RAD Actor System Documentation

+

RadCommons.extensions.TypeExtensions.DefaultValue Source only package

+

Tags: RadCommons source-only extension type default-value
+Includes: None
+Declaring file: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs

+

Provides default value for types (Source only package).

+

Package members

TypeExtensions (Type)
System.Type extensions
GetDefaultValue(Type) (Method)
Gets the default value of given type

+

Sources

App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs

+

Go to namespaces or types or source-only packages

+

+

RadCommons.logging.CommonLogging Source only package

+

Tags: RadCommons source-only logging NLog
+Includes: Folder
+Declaring file: App_Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs

+

RadCommons logging wrapper around NLog with some extended functionality (Source only package).

+

References needed

NLog

+

Package members

CommonLogging (Type)
ILogger factory
CreateLogger(string) (Method)
Creates the logger with given categoryName
CreateLogger(Type) (Method)
Creates the logger for given type. The name of the logger will be System.Type.FullName
CreateLogger<T>() (Method)
Creates the logger for given type. The name of the logger will be System.Type.FullName
ILogger (Type)
Logger interface - wrapper around the NLog.ILogger with some additional methods
Trace(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Trace level.
Debug(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Debug level.
Info(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Info level.
Warn(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Warn level.
Error(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Fatal level.
Warn(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Warn level.
Error(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Fatal level.
ErrorPassThrough(Exception, string) (Method)
Writes the diagnostic message at the Error level and returns given exception
FatalPassThrough(Exception, string) (Method)
Writes the diagnostic message at the Fatal level and returns given exception
Error<TException>(string, Exception) (Method)
Writes the diagnostic message at the Error level. Creates and returns the exception of given type
Fatal<TException>(string, Exception) (Method)
Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type
ErrorFltr<TException>(ILogger.TException, string, bool) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalFltr<TException>(ILogger.TException, string, bool) (Method)
Writes the diagnostic message at the Fatal level and returns catchIt value.
TraceCorr(string, string) (Method)
Writes the diagnostic message at the Trace level with correlation ID.
DebugCorr(string, string) (Method)
Writes the diagnostic message at the Debug level with correlation ID.
InfoCorr(string, string) (Method)
Writes the diagnostic message at the Info level with correlation ID.
WarnCorr(string, string) (Method)
Writes the diagnostic message at the Warn level with correlation ID.
ErrorCorr(string, string) (Method)
Writes the diagnostic message at the Error level with correlation ID.
FatalCorr(string, string) (Method)
Writes the diagnostic message at the Fatal level with correlation ID.
WarnCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Warn level with correlation ID.
ErrorCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Error level with correlation ID.
FatalCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Fatal level with correlation ID.
ErrorCorr<TException>(string, ILogger.TException, string) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalCorr<TException>(string, ILogger.TException, string) (Method)
Writes the diagnostic message at the Fatal level and returns the exception of given type
ErrorCorr<TException>(string, string, Exception) (Method)
Writes the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type
FatalCorr<TException>(string, string, Exception) (Method)
Writes the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type
ErrorFltrCorr<TException>(string, ILogger.TException, string, bool) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalFltrCorr<TException>(string, ILogger.TException, string, bool) (Method)
Writes the diagnostic message at the Fatal level and returns catchIt value.
LoggerExt (Type)
ILogger extensions
Trace(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Trace level.
Debug(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Debug level.
Info(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Info level.
Warn(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Warn level.
Error(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(Dictionary<string,object>, string) (Method)
Writes the diagnostic message at the Fatal level.
Warn(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Warn level.
Error(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Error level.
Fatal(Dictionary<string,object>, Exception, string) (Method)
Writes the diagnostic message at the Fatal level.
ErrorPassThrough(Exception, string) (Method)
Writes the diagnostic message at the Error level and returns given exception
FatalPassThrough(Exception, string) (Method)
Writes the diagnostic message at the Fatal level and returns given exception >
Error<TException>(string, Exception) (Method)
Writes the diagnostic message at the Error level. Creates and returns the exception of given type
Fatal<TException>(string, Exception) (Method)
Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type
CreateException<TException>(string, Exception) (Method)
Writes the diagnostic message at the Fatal level. Creates and returns the exception of given type
ErrorFltr<TException>(LoggerExt.TException, string, bool) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalFltr<TException>(LoggerExt.TException, string, bool) (Method)
Writes the diagnostic message at the Fatal level and returns catchIt value.
TraceCorr(string, string) (Method)
Writes the diagnostic message at the Trace level with correlation ID
DebugCorr(string, string) (Method)
Writes the diagnostic message at the Debug level with correlation ID.
InfoCorr(string, string) (Method)
Writes the diagnostic message at the Info level with correlation ID.
WarnCorr(string, string) (Method)
Writes the diagnostic message at the Warn level with correlation ID.
ErrorCorr(string, string) (Method)
Writes the diagnostic message at the Error level with correlation ID.
FatalCorr(string, string) (Method)
Writes the diagnostic message at the Fatal level with correlation ID.
WarnCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Warn level with correlation ID.
ErrorCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Error level with correlation ID.
FatalCorr(string, Exception, string) (Method)
Writes the diagnostic message at the Fatal level with correlation ID.
ErrorCorr<TException>(string, LoggerExt.TException, string) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalCorr<TException>(string, LoggerExt.TException, string) (Method)
Writes the diagnostic message at the Fatal level and returns the exception of given type
ErrorCorr<TException>(string, string, Exception) (Method)
Writes the diagnostic message at the Error level with correlation ID. Creates and returns the exception of given type
FatalCorr<TException>(string, string, Exception) (Method)
Writes the diagnostic message at the Fatal level with correlation ID. Creates and returns the exception of given type
ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool) (Method)
Writes the diagnostic message at the Error level and returns the exception of given type
FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool) (Method)
Writes the diagnostic message at the Fatal level and returns catchIt value.
LogIt(LogLevel, string, Exception) (Method)
Writes the item (message with optional exception) into the log
LogIt(LogLevel, string, string, Exception) (Method)
Writes the item (message with optional exception) with correlation Id into the log
LogIt(LogLevel, Dictionary<string,object>, string, Exception) (Method)
Writes the item (message with optional event properties and exception) into the log

+

Sources

App_Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs
App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs

+

Go to namespaces or types or source-only packages

+

+

RadCommons.utils.BaseDisposable Source only package

+

Tags: RadCommons source-only disposable
+Includes: None
+Declaring file: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs

+

Helper class for implementation of IDisposable types (Source only package).

+

Package members

BaseDisposable (Type)
Helper class for implementation of System.IDisposable types
Disposed (Property)
Flag whether the object is fully disposed
DisposedManaged (Property)
Flag whether the managed resources are disposed
DisposedNative (Property)
Flag whether the native resources are disposed
Dispose() (Method)
Dispose the object
Dispose(bool) (Method)
Internal implementation of dispose - free the managed and native resources using the respective methods
DisposeManaged() (Method)
Dispose any disposable managed fields or properties.
DisposeNative() (Method)
Dispose of COM objects, Handles, etc. Then set those objects to null.
~BaseDisposable() (Method)

+

Sources

App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs

+

Go to namespaces or types or source-only packages

+

+ diff --git a/doc/src-only-packages--.md b/doc/src-only-packages--.md new file mode 100644 index 0000000..e09e95b --- /dev/null +++ b/doc/src-only-packages--.md @@ -0,0 +1,68 @@ +# RAD Actor System Documentation # +## RadCommons.extensions.TypeExtensions.DefaultValue Source only package ## +Tags: RadCommons source-only extension type default-value +Includes: None +Declaring file: App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs + + +Provides default value for types (Source only package). + + +Package members
[TypeExtensions (Type)](net.adamec.lib.common.extensions__1vwuhoq.md#t-net.adamec.lib.common.extensions.typeextensions__63ezc8)
System.Type extensions
[GetDefaultValue(Type) (Method)](net.adamec.lib.common.extensions__1vwuhoq.md#m-net.adamec.lib.common.extensions.typeextensions.getdefaultvalue_system.type___vn2w69)
Gets the default value of given type
+ + +Sources
App_Packages\RadCommons.extensions.TypeExtensions.DefaultValue\TypeExtensionsDefaultValue.cs
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RadCommons.logging.CommonLogging Source only package ## +Tags: RadCommons source-only logging NLog +Includes: Folder +Declaring file: App_Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs + + +RadCommons logging wrapper around NLog with some extended functionality (Source only package). + + +References needed
NLog
+ + +Package members
[CommonLogging (Type)](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.commonlogging__1dar5wb)
[ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) factory
[CreateLogger(string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.string___wn77if)
Creates the logger with given categoryName
[CreateLogger(Type) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger_system.type___uhum9e)
Creates the logger for given type. The name of the logger will be System.Type.FullName
[CreateLogger<T>() (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.commonlogging.createlogger--1__lp2vax)
Creates the logger for given type. The name of the logger will be System.Type.FullName
[ILogger (Type)](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm)
Logger interface - wrapper around the NLog.ILogger with some additional methods
[Trace(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.trace_system.collections.generic.dictionary_system.string-system.object_-system.string___15kc02k)
Writes the diagnostic message at the `Trace` level.
[Debug(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debug_system.collections.generic.dictionary_system.string-system.object_-system.string___jxdraq)
Writes the diagnostic message at the `Debug` level.
[Info(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.info_system.collections.generic.dictionary_system.string-system.object_-system.string___1kbhewr)
Writes the diagnostic message at the `Info` level.
[Warn(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.string___1hy0rp3)
Writes the diagnostic message at the `Warn` level.
[Error(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.string___kfa9gl)
Writes the diagnostic message at the `Error` level.
[Fatal(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.string___1yxmkzz)
Writes the diagnostic message at the `Fatal` level.
[Warn(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warn_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___10z37vj)
Writes the diagnostic message at the `Warn` level.
[Error(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___1watp5d)
Writes the diagnostic message at the `Error` level.
[Fatal(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___175gumn)
Writes the diagnostic message at the `Fatal` level.
[ErrorPassThrough(Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorpassthrough_system.exception-system.string___1vc33gk)
Writes the diagnostic message at the `Error` level and returns given exception
[FatalPassThrough(Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalpassthrough_system.exception-system.string___1fx8xs8)
Writes the diagnostic message at the `Fatal` level and returns given exception
[Error<TException>(string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.error--1_system.string-system.exception___pmrssh)
Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type
[Fatal<TException>(string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatal--1_system.string-system.exception___x5u73)
Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type
[ErrorFltr<TException>(ILogger.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltr--1_--0-system.string-system.boolean___135nosm)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalFltr<TException>(ILogger.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltr--1_--0-system.string-system.boolean___1av7ixa)
Writes the diagnostic message at the `Fatal` level and returns catchIt value.
[TraceCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.tracecorr_system.string-system.string___1bdni2z)
Writes the diagnostic message at the `Trace` level with correlation ID.
[DebugCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.debugcorr_system.string-system.string___aozvfj)
Writes the diagnostic message at the `Debug` level with correlation ID.
[InfoCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.infocorr_system.string-system.string___2iypny)
Writes the diagnostic message at the `Info` level with correlation ID.
[WarnCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.string___pr2tiu)
Writes the diagnostic message at the `Warn` level with correlation ID.
[ErrorCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.string___coifvu)
Writes the diagnostic message at the `Error` level with correlation ID.
[FatalCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.string___ufcx32)
Writes the diagnostic message at the `Fatal` level with correlation ID.
[WarnCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.warncorr_system.string-system.exception-system.string___1kh0i9m)
Writes the diagnostic message at the `Warn` level with correlation ID.
[ErrorCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr_system.string-system.exception-system.string___1qll13u)
Writes the diagnostic message at the `Error` level with correlation ID.
[FatalCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr_system.string-system.exception-system.string___yt34nm)
Writes the diagnostic message at the `Fatal` level with correlation ID.
[ErrorCorr<TException>(string, ILogger.TException, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string---0-system.string___eypxkv)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalCorr<TException>(string, ILogger.TException, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string---0-system.string___108vdu1)
Writes the diagnostic message at the `Fatal` level and returns the exception of given type
[ErrorCorr<TException>(string, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorcorr--1_system.string-system.string-system.exception___91akh7)
Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type
[FatalCorr<TException>(string, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalcorr--1_system.string-system.string-system.exception___1hlu7x)
Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type
[ErrorFltrCorr<TException>(string, ILogger.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.errorfltrcorr--1_system.string---0-system.string-system.boolean___1spds2w)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalFltrCorr<TException>(string, ILogger.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.ilogger.fatalfltrcorr--1_system.string---0-system.string-system.boolean___a9m338)
Writes the diagnostic message at the `Fatal` level and returns catchIt value.
[LoggerExt (Type)](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.loggerext__ac9km2)
[ILogger](net.adamec.lib.common.logging__1g9pm29.md#t-net.adamec.lib.common.logging.ilogger__y2ollm) extensions
[Trace(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.trace_system.collections.generic.dictionary_system.string-system.object_-system.string___1k5wn70)
Writes the diagnostic message at the `Trace` level.
[Debug(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.debug_system.collections.generic.dictionary_system.string-system.object_-system.string___by66ma)
Writes the diagnostic message at the `Debug` level.
[Info(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.info_system.collections.generic.dictionary_system.string-system.object_-system.string___1qxds6b)
Writes the diagnostic message at the `Info` level.
[Warn(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warn_system.collections.generic.dictionary_system.string-system.object_-system.string___wuc2dz)
Writes the diagnostic message at the `Warn` level.
[Error(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error_system.collections.generic.dictionary_system.string-system.object_-system.string___u5pc5h)
Writes the diagnostic message at the `Error` level.
[Fatal(Dictionary<string,object>, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal_system.collections.generic.dictionary_system.string-system.object_-system.string___1ff2uef)
Writes the diagnostic message at the `Fatal` level.
[Warn(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warn_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___8kyvvj)
Writes the diagnostic message at the `Warn` level.
[Error(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___7fy00h)
Writes the diagnostic message at the `Error` level.
[Fatal(Dictionary<string,object>, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal_system.collections.generic.dictionary_system.string-system.object_-system.exception-system.string___pw9hcn)
Writes the diagnostic message at the `Fatal` level.
[ErrorPassThrough(Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorpassthrough_system.exception-system.string___1ey2kd0)
Writes the diagnostic message at the `Error` level and returns given exception
[FatalPassThrough(Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalpassthrough_system.exception-system.string___10psm2o)
Writes the diagnostic message at the `Fatal` level and returns given exception >
[Error<TException>(string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.error--1_system.string-system.exception___1qowqgx)
Writes the diagnostic message at the `Error` level. Creates and returns the exception of given type
[Fatal<TException>(string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatal--1_system.string-system.exception___1myw0tj)
Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type
[CreateException<TException>(string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.createexception--1_system.string-system.exception___1wtd924)
Writes the diagnostic message at the `Fatal` level. Creates and returns the exception of given type
[ErrorFltr<TException>(LoggerExt.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltr--1_--0-system.string-system.boolean___ipfsfa)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalFltr<TException>(LoggerExt.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalfltr--1_--0-system.string-system.boolean___5rdjqe)
Writes the diagnostic message at the `Fatal` level and returns catchIt value.
[TraceCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.tracecorr_system.string-system.string___1e218kz)
Writes the diagnostic message at the `Trace` level with correlation ID
[DebugCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.debugcorr_system.string-system.string___i119af)
Writes the diagnostic message at the `Debug` level with correlation ID.
[InfoCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.infocorr_system.string-system.string___3vobha)
Writes the diagnostic message at the `Info` level with correlation ID.
[WarnCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warncorr_system.string-system.string___cfr64e)
Writes the diagnostic message at the `Warn` level with correlation ID.
[ErrorCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr_system.string-system.string___1vt0qk2)
Writes the diagnostic message at the `Error` level with correlation ID.
[FatalCorr(string, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr_system.string-system.string___c131ta)
Writes the diagnostic message at the `Fatal` level with correlation ID.
[WarnCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.warncorr_system.string-system.exception-system.string___sfdb1u)
Writes the diagnostic message at the `Warn` level with correlation ID.
[ErrorCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr_system.string-system.exception-system.string___1tdd1hu)
Writes the diagnostic message at the `Error` level with correlation ID.
[FatalCorr(string, Exception, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr_system.string-system.exception-system.string___1q1adwi)
Writes the diagnostic message at the `Fatal` level with correlation ID.
[ErrorCorr<TException>(string, LoggerExt.TException, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr--1_system.string---0-system.string___bk3vj3)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalCorr<TException>(string, LoggerExt.TException, string) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr--1_system.string---0-system.string___17i1735)
Writes the diagnostic message at the `Fatal` level and returns the exception of given type
[ErrorCorr<TException>(string, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorcorr--1_system.string-system.string-system.exception___4hcjn7)
Writes the diagnostic message at the `Error` level with correlation ID. Creates and returns the exception of given type
[FatalCorr<TException>(string, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalcorr--1_system.string-system.string-system.exception___w1l5gt)
Writes the diagnostic message at the `Fatal` level with correlation ID. Creates and returns the exception of given type
[ErrorFltrCorr<TException>(string, LoggerExt.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.errorfltrcorr--1_system.string---0-system.string-system.boolean___84xqu8)
Writes the diagnostic message at the `Error` level and returns the exception of given type
[FatalFltrCorr<TException>(string, LoggerExt.TException, string, bool) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.fatalfltrcorr--1_system.string---0-system.string-system.boolean___15t2hh0)
Writes the diagnostic message at the `Fatal` level and returns catchIt value.
[LogIt(LogLevel, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.string-system.exception___hxtfrf)
Writes the item (message with optional exception) into the log
[LogIt(LogLevel, string, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.string-system.string-system.exception___1l4ejwt)
Writes the item (message with optional exception) with correlation Id into the log
[LogIt(LogLevel, Dictionary<string,object>, string, Exception) (Method)](net.adamec.lib.common.logging__1g9pm29.md#m-net.adamec.lib.common.logging.loggerext.logit_nlog.loglevel-system.collections.generic.dictionary_system.string-system.object_-system.string-system.exception___5yngu4)
Writes the item (message with optional event properties and exception) into the log
+ + +Sources
App_Packages\RadCommons.logging.CommonLogging\_SourceOnlyPackage.cs
App_Packages\RadCommons.logging.CommonLogging\CommonLogging.cs
App_Packages\RadCommons.logging.CommonLogging\ILogger.cs
App_Packages\RadCommons.logging.CommonLogging\LoggerExt.cs
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + +## RadCommons.utils.BaseDisposable Source only package ## +Tags: RadCommons source-only disposable +Includes: None +Declaring file: App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs + + +Helper class for implementation of IDisposable types (Source only package). + + +Package members
[BaseDisposable (Type)](net.adamec.lib.common.utils__7vdji9.md#t-net.adamec.lib.common.utils.basedisposable__7s72ps)
Helper class for implementation of System.IDisposable types
[Disposed (Property)](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposed__nxq2fp)
Flag whether the object is fully disposed
[DisposedManaged (Property)](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposedmanaged__1pm7df6)
Flag whether the managed resources are disposed
[DisposedNative (Property)](net.adamec.lib.common.utils__7vdji9.md#p-net.adamec.lib.common.utils.basedisposable.disposednative__fqjn7i)
Flag whether the native resources are disposed
[Dispose() (Method)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.dispose__6qe9ri)
Dispose the object
[Dispose(bool) (Method)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.dispose_system.boolean___1vzs8w4)
Internal implementation of dispose - free the managed and native resources using the respective methods
[DisposeManaged() (Method)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposemanaged__1ht3p85)
Dispose any disposable managed fields or properties.
[DisposeNative() (Method)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.disposenative__uaa3i9)
Dispose of COM objects, Handles, etc. Then set those objects to null.
[~BaseDisposable() (Method)](net.adamec.lib.common.utils__7vdji9.md#m-net.adamec.lib.common.utils.basedisposable.finalize__1l3n8dl)
+ + +Sources
App_Packages\RadCommons.utils.BaseDisposable\BaseDisposable.cs
+ + +Go to [namespaces](net.adamec.lib.common.actor.md#namespace-list) or [types](net.adamec.lib.common.actor.md#type-list) or [source-only packages](net.adamec.lib.common.actor.md#package-list) + + + + + + diff --git a/net.adamec.lib.common.actor.test/Build.props b/net.adamec.lib.common.actor.test/Build.props new file mode 100644 index 0000000..d077bb3 --- /dev/null +++ b/net.adamec.lib.common.actor.test/Build.props @@ -0,0 +1,6 @@ + + + + false + + diff --git a/net.adamec.lib.common.actor/actor/ActorRefInternal.cs b/net.adamec.lib.common.actor/actor/ActorRefInternal.cs index c0e7d7b..ce04ac4 100644 --- a/net.adamec.lib.common.actor/actor/ActorRefInternal.cs +++ b/net.adamec.lib.common.actor/actor/ActorRefInternal.cs @@ -3,7 +3,6 @@ using net.adamec.lib.common.actor.actorsystem; using net.adamec.lib.common.actor.message; using net.adamec.lib.common.actor.queue; -using net.adamec.lib.common.extensions; using net.adamec.lib.common.logging; namespace net.adamec.lib.common.actor.actor diff --git a/net.adamec.lib.common.actor/actorsystem/ActorSystem.cs b/net.adamec.lib.common.actor/actorsystem/ActorSystem.cs index c267fc8..960272a 100644 --- a/net.adamec.lib.common.actor/actorsystem/ActorSystem.cs +++ b/net.adamec.lib.common.actor/actorsystem/ActorSystem.cs @@ -16,7 +16,7 @@ namespace net.adamec.lib.common.actor.actorsystem /// public class ActorSystem : BaseDisposable, IActorSystem { - protected static ILogger Logger = CommonLogging.CreateLogger(); + internal static ILogger Logger = CommonLogging.CreateLogger(); /// /// diff --git a/net.adamec.lib.common.actor/actorsystem/ActorSystemDispatcher.cs b/net.adamec.lib.common.actor/actorsystem/ActorSystemDispatcher.cs index 357287a..56d6fb6 100644 --- a/net.adamec.lib.common.actor/actorsystem/ActorSystemDispatcher.cs +++ b/net.adamec.lib.common.actor/actorsystem/ActorSystemDispatcher.cs @@ -6,7 +6,6 @@ using net.adamec.lib.common.actor.message; using net.adamec.lib.common.logging; using net.adamec.lib.common.utils; -using net.adamec.lib.common.extensions; namespace net.adamec.lib.common.actor.actorsystem { diff --git a/net.adamec.lib.common.actor/markupdoc.json b/net.adamec.lib.common.actor/markupdoc.json new file mode 100644 index 0000000..558486d --- /dev/null +++ b/net.adamec.lib.common.actor/markupdoc.json @@ -0,0 +1,16 @@ +{ + "Output": { + "Title":"RAD Actor System Documentation", + "Html": true, + "Markdown": true, + "HtmlExtension": "html", + "MarkdownExtension": "md", + "SplitNs": true, + "SplitType": false + }, + "MicrosoftApi": { + "LinkToApi": true, + "RequireLocalDoc": false, + "ApiBaseUrl": "https://docs.microsoft.com/en-us/dotnet/api/" + } +} \ No newline at end of file diff --git a/net.adamec.lib.common.actor/net.adamec.lib.common.actor.csproj b/net.adamec.lib.common.actor/net.adamec.lib.common.actor.csproj index bf886d8..3517d2e 100644 --- a/net.adamec.lib.common.actor/net.adamec.lib.common.actor.csproj +++ b/net.adamec.lib.common.actor/net.adamec.lib.common.actor.csproj @@ -23,16 +23,15 @@ - - + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers diff --git a/readme.md b/readme.md index 4de1358..838ed5a 100644 --- a/readme.md +++ b/readme.md @@ -6,9 +6,13 @@ The purpose is to provide the lightweight in-process asynchronous message based Actor is a generally any component implementing `IActor` interface registered within the Actor System that is able to receive and process the messages sent from another Actor or even from outside world. The message processing is by design asynchronous where the messages for individual actors are processed in FIFO sequence, but the Actor System also provides the support for synchronous (Request-Reply) pattern. ### Build ### -The Commons library use the customized MS Build process in projects `build` and `build.tasks`. It's save to remove such projects from solution if needed. +The library uses the customized MS Build process in projects `build` and `build.tasks`. It's safe to remove such projects from solution if needed. Details about the build process are described in [build documentation](build/readme.md). +### Code Documentation ### +The [code documentation](https://github.com/adamecr/Common.Actor/blob/master/doc/net.adamec.lib.common.actor.md) is generated during the customized build using [MarkupDoc](https://github.com/adamecr/MarkupDoc). + + ## Content ## - [High Level Architecture](#high-level-architecture) - [Key Interfaces](#key-interfaces) @@ -493,6 +497,6 @@ public class RoutingKeyExchangeActor : ExchangeActor