go-actor

A tiny library for writing concurrent programs in Go using actor model

MIT License

Stars
137

Bot releases are visible (Hide)

go-actor - v0.9.0 Latest Release

Published by vladopajic 8 months ago

Changes:

  • go version bump to v1.22
  • simplify mailbox capacity options (#72)

Braking changes:

  • simplify mailbox capacity options (#72) - was a breaking change.
    OptMinCapacity and OptMailbox where removed in favor of single option for setting capacity OptCapacity.

Full Changelog: https://github.com/vladopajic/go-actor/compare/v0.8.4...v0.9.0

go-actor - v0.8.4

Published by vladopajic 9 months ago

Changes:

  • Add new option OptOnStartCombined(func (Context)) that can be used as option for combined actor

Full Changelog: https://github.com/vladopajic/go-actor/compare/v0.8.3...v0.8.4

go-actor - v0.8.3

Published by vladopajic 11 months ago

Changes:

  • Mailbox receiveC and sendC are created with small buffer to allow better asynchronicity
  • Mailbox worker writes directly to receiveC if there is space in buffer
  • Panic will be raised when Mailbox.Send(...) is called for non-running mailbox
go-actor - v0.8.2

Published by vladopajic 11 months ago

Changes:

  • add new option OptStopAfterReceivingAll() that will stop mailbox only after all messages have been received.
go-actor - release to retract releases with v1.x.x

Published by vladopajic 12 months ago

go-actor - v0.8.1

Published by vladopajic 12 months ago

Changes:

  • add new option OptOnStopCombined(func ()) that can be used as option for combined actor
go-actor - v0.8.0

Published by vladopajic 12 months ago

Changes:

  • Combine function now returns builder that builds combined actor
  • New options is added OptStopTogether that stops all combined actors when any actor stops
go-actor - v0.7.1

Published by vladopajic about 1 year ago

License changed to permissive license (MIT).

go-actor - v0.7.0

Published by vladopajic over 1 year ago

  • FanOut changed to accept receive channel
  • interfaces StartableWorker and StoppableWorker are now exported
  • OnStart and OnStop callbacks order execution changed: first these are executed from worker (if any), then from options (if any)
  • test improvements (more test, more coverage)
  • repo CI now executes go-test-coverage action
go-actor - v0.6.0

Published by vladopajic over 1 year ago

  • Composed Mailbox interface using MailboxSender and MailboxReceiver interfaces
  • FanOut utility refactored to use new MailboxSender and MailboxReceiver interfaces
  • Added NewMailboxes constructor for creating multiple mailboxes
go-actor - v0.5.1

Published by vladopajic almost 2 years ago

  • Worker can optionally implement OnStart(Context) and OnStop() methods which will have same effect as if those are provided via OptOnStart and OptOnStop respectively
go-actor - v0.5.0

Published by vladopajic almost 2 years ago

  • OnStart now receives Context as first argument
  • Context is ended before OnStop callback is invoked
go-actor - v0.4.1

Published by vladopajic almost 2 years ago

Old releases with version v1.x.x were retracted. This library will follow v0.x.x versioning going forward until it reaches stable interface.

go-actor - v.0.3.1

Published by vladopajic almost 2 years ago

  • Mailbox use faster queue implementation
go-actor - v0.4.0

Published by vladopajic almost 2 years ago

  • Actor will end Context on WorkerEnd signal
  • Add actor.Idle
  • Add Mailbox implementation with native channels
  • Drop StartAll and StopAll functions