actor_system 0.9.6 actor_system: ^0.9.6 copied to clipboard
An implementation of the actor model in the Dart language. An actor processes only one message at a time, even if the processing is asynchronous.
Changelog #
0.9.6 #
- Add an optional parameter
done
toProtocolBuilderMessage.build
.done
is called, when the protocol is completed.
0.9.5 #
- Add
ProtocolController
to handle messages in context of a protocol.
0.9.4 #
ActorStopped
exception can be constructed with a string again.
0.9.3 #
- It is now possible to configure the defailt mailbox size for an actor system.
ActorStopped
exception contains information about the affected actor and message.
0.9.2 #
- Bugfix:
sender
andcorrelationId
from current context was determined in the wrong point of time. Thus, wrong values could be return fromActorContext.sender
andActorContext.correlationId
.
0.9.1 #
- Bugfix: "one message at a time" was not fulfilled for async message processing.
0.9.0 #
- BREAKING CHANGE: if the
correlationId
is not explicitly set as parameter ofActorRef.send()
it is implicitly set set from the context of the current actor (if available).
0.8.1 #
- The key
zoneSenderKey
to set or get an actor as the sender in the currentZone
is now public.
0.8.0 #
- BREAKING CHANGE: it is no longer possible to exclitly specifying a sender, when sending a message to an actor. Instead, it is implcitly set, if the message was sent in the context of an actor.
0.7.2 #
- It is now possible to set callback function to be callled when an actors is added or removed from a system by using the setters
ActorSystem.onActorAdded
andActorSystem.onActorRemoved
.
0.7.1 #
- It is now possible to get metrics of an actor system by using
ActorSystem.metrics
. - It is now possbile to get a list of all available actor paths by using
ActorSystem.actorPaths
. ^
0.7.0 #
- BREAKING CHANGE: parameter
path
oflookupActor()
andlookupActors()
must be absolute. - BREAKING CHANGE: parameter
path
ofcreateActor()
andlookupActor()
must not end with a slash. - Bugfix: it was possible to create more than one actor on the same path.
- Improved handling of an empty fragment in
validActorPath()
andcopyWith()
ofUriExtension
.
0.6.0 #
- BREAKING CHANGE: renamed
UriExtension.copy()
toUriExtension.copy()
and renamed parameterfragment
totag
. - Added named parameter
tag
toactorPath()
.
0.5.1 #
- Added helper to copy an Uri.
0.5.0 #
- BREAKING CHANGE: renamed
ExternalActorCreate
toCreateActor
. - BREAKING CHANGE: renamed
ExternalActorLookup
toLookupActor
. - BREAKING CHANGE: renamed
ActorSyste.externalCreate
toActorSyste.externalCreateActor
. - BREAKING CHANGE: renamed
ActorSyste.externalLookup
toActorSyste.externalLlookupActor
. - Added
BaseContext.lookupActors()
0.4.0 #
- BREAKING CHANGE: moved cluster functionality to an separate package.
- BREAKING CHANGE: renamed library
actor_builder
toactor_system_helper
. - BREAKING CHANGE: reaname class
WhenLikeActorBuilder
toActorBuilder
. - BREAKING CHANGE: class
ActorBuilder
no longer has a methodactor()
. UseorActor()
,orSkip()
ororThrow()
instead. - BREAKING CHANGE: replaced
ActorSystem.registerFactory(Pattern, ActorFactory)
byActorSystem.addActorFactory(PathMatcher, ActoryFactory)
. - It is now possible to stop an actor. This can be done by calling
ActorRef.shutdown()
or sending the constantshutdownMsg
to the actor. - An actor can now throw a
SkipMessage
while executing a message. In contrast to all other exceptions thrown by an actor, the actor is not restarted. - Added
ActorContextExtension
onActorContext
with getterssenderOrSkip
,replyToOrSkip
andcorrelationIdOrSkip
. Use these methods to get null safe versions ofsender
,replyTo
andcorrelationId
. If a value isnull
, aSkipMessage
is thrown.
0.3.0 #
- BREAKING CHANGE: removed parameter
useExistingActor
fromBaseContext.createActor()
. BaseContext.createActor()
has a new parametersendInit
. If set totrue
, aninitMsg
is sent after the actor is created.ActorRef.send()
now has a new parametercorrelationId
. An actor can read the correlation id from its context.WhenLikeActorBuilder
has new methodsisTrue()
andisInit()
.
0.2.2 #
ActorRef.send()
now has a new parametersender
.
0.2.1 #
- Prefixed all logger names in library
actor_system
withactor_system.system.
and all logger names in libraryactor_cluster
withactor_system.cluster.
.
0.2.0 #
- Improved package score on pub.dev
- More useful version of README.md
- BREAKING CHANGE: Refactored
WhenLikeActorBuilder.equals(Object?, Actor)
toWhenLikeActorBuilder.isEqual<T>(T, FutureOr<void> Function(ActorContext, T))
0.1.1 #
- Changed dependency from
msgpack_dart
tomsgpack_dart_with_web
to support web
0.1.0 #
- Initial release