Commit graph

48 commits

Author SHA1 Message Date
Patrik Nordwall
5c96a5f556 replace unicode arrows
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
  then it's complicated to avoid that when snippets are
  located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
2019-03-11 16:58:51 +01:00
Arnout Engelen
4c7440c952
akka-actor scalafix changes 2019-01-11 11:43:26 +01:00
kerr
bdc90052aa Update headers from 2018 to 2019 once for all. (#26165)
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
2019-01-02 11:55:26 +01:00
kerr
fafc59b19d update headers to regular comment (#25807) 2018-10-29 05:19:37 -04:00
Christopher Batey
009214ae07
Update copyright to 2018 (#24241) 2018-01-04 17:26:29 +00:00
Patrik Nordwall
e69fc6e934 remove some deprecated event bus classes, #21423 2017-01-24 13:32:46 +01:00
Philippus Baalman
6c7085252a extended copyright into 2017 2017-01-04 17:37:15 +01:00
Roland Kuhn
777a400b12 use union/diff operator on Sets (optimization) 2016-03-24 12:51:18 +01:00
Wojciech Langiewicz
aa536b6f65 =doc fixed part of scaladoc warnings 2016-03-10 10:51:34 +01:00
Johannes Rudolph
b6cbc7f13a =all remove unused imports 2016-02-23 20:29:22 +01:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
Prayag Verma
b7783968a0 =pro #19068 All copyrights ranges and single years updated to a range ending in 2016 2016-01-25 10:20:30 +01:00
Patrik Nordwall
b30e460be7 = #17342 Make 2.4 binary compatible with 2.3
(cherry picked from commit 89af8bdb90)

* remove final identifier in serializers

i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY

* adding back compatible empty constructor in serializers

* make FSM.State compatible

* add back ActorPath.ElementRegex

* revert SocketOption changes and add SocketOptionV2
  see a6d3704ef6

* problem filter for ActorSystem and ActorPath

* problem filter for ByteString

* problem filter for deprecated Timeout methods

* BalancingPool companion

* ask

* problem filter for ActorDSL

* event bus

* exclude hasSubscriptions

* exclude some problems in testkit

* boundAddress and addressFromSocketAddress

* Pool nrOfInstances

* PromiseActorRef

* check with 2.3.9

* migration guide note

* explicit exclude of final class problems
2015-05-11 21:11:52 +02:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Konrad Malawski
c046cdff0a !act,doc #3893 Removed isTerminated checks from ActorClassification
Instead of isTerminated we now use death watch on subscribers.

! Breaking change - ActorClassification based event buses now require
  and actor system. Previously no actors were involved, but now someone
  has to `watch` the subscribers. The unsubscriber is an system actor,
  and won't be stopped automagically if a bus stops to be used (hard to
  determine what "stops being used" is)
* Replaced isTerminated checks with watching actors
* backing structure for ActorClassification swaped from
  ConcurrentHashMap to immutable.Map with CAS operations on it. This is
  required to avoid races and guarantee register/unregister ordering
  (messages sent with proper sequence numbers) to the unsubscriber.
  Performance tested it and still above 1.3million subscribe+unsubscribe
  ops per second (mac i7, retina), where as the CHM version was
  4 million - but that one could only work in the presence of
  itTerminated - so we pay the price here for removing it.
* `ActorClassification` starts the unsubscriber instance by itself,
  the unsubscriber is an system actor, and can be stopped via
  `ActorClassification#shutdown`
* Will unregister from unsubscriber, when no more subscriptions for
  given subscriber are left in this bus.
* Added missing "Java API: " for some types
* Updated docs to point out the automatic subscriber purging (on terminated)
2014-04-24 14:08:07 +02:00
Konrad Malawski
f57470926e =act #3623 unsubscribe when actors terminate, instead of isTerminated
* Moved to removing actors proactively when they are terminated instead of
  checking `isTerminated` during publish.
* Subscribers which have registered before initializing the unsubscriber
  will be aggregated in a Seq until one is registered and then it will
  take responsibility of unregistering them on termination.
* Initialization of the unsubscriber can only be run once - attempting
  to initialize the event stream with another unsubscriber will fail,
  and init will return false.
* Assumed having an init (mutable) method on the `EventBus` is fine, as
  it has such methods already and @patriknw's comment in the task for
  this.
* since we must check if the subscriber has any subscribed channels left
  we had to expose this detail from SubchannelClassification via
  `hasSubscriptions`. Increases cost of ubsubscribe(actor, channel) a bit.
* Evacuated the expensive `hasSubscription` call out of eventstream's `unsubscribe` call, and instead making the Unsubscriber check this before it stops watching an actor. If in the mean time the same actor got subscribed, there will be a new Subscribe message emited - so we're good on that side. Also, if it would terminate before the unsubscriber gets the Register message it will call `watch(actor)` on a dead actor, which results in getting Terminated for it, thus we'll stop watching it from the Unsubscriber as expected.

Final squash and small cleanup. Please review again;
2014-04-16 12:13:21 +02:00
Patrik Nordwall
a247365b57 !act,doc #2922 Doc event bus and fix Java API 2014-02-13 12:23:51 +01:00
Adam Voss
cce29dfa51 Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
Roland
bcfbea42c1 fix formatting of Java API in doc comments + genjavadoc 0.3 2013-03-07 09:05:55 +01:00
Viktor Klang
adfeb2c1f0 #2879 - updating copyright info 2013-01-09 11:38:00 +01:00
Viktor Klang
b00c47854b Switching over to immutable.Iterable where possible 2012-11-14 16:24:25 +01:00
Viktor Klang
8f131c680f Switching to immutable.Seq instead of Seq 2012-11-12 14:17:47 +01:00
Björn Antonsson
208c0cc4eb Review feedback fixes. #2561 2012-09-28 15:20:23 +02:00
Viktor Klang
036811aeaf Minor code restructuring for SubchannelClassification 2012-09-27 16:51:00 +02:00
Björn Antonsson
07f28cd26a EventBus now handles adding and removal better. See #2561 2012-09-27 14:23:49 +02:00
Björn Antonsson
426120f50c EventStream should publish to all matching traits. See #2525 2012-09-25 12:32:56 +02:00
Viktor Klang
09df0889db Adding IAEs for null subscriber/classifier in ActorClassification 2012-06-19 11:39:05 +02:00
Viktor Klang
5eba9fceef Saving the planet and shufflin' 2012-05-18 13:37:26 +02:00
Roland
afd81d8506 Revert "closes #2019: Use parentheses for arity-0 methods which are not referentially transparent"
This reverts commit 8dbfbbe966.
2012-05-03 21:14:47 +02:00
Heiko Seeberger
8dbfbbe966 closes #2019: Use parentheses for arity-0 methods which are not referentially transparent 2012-04-24 16:38:21 +02:00
Viktor Klang
21751ce593 Switching to - instead of filterNot 2012-03-16 16:29:11 +01:00
Viktor Klang
a4bd12ed22 Switching to the faster append and removed a relative import 2012-03-15 15:45:55 +01:00
Viktor Klang
ef399e283d Switching to TreeSet, which should also receive quite some performance enhancements in Scala 2.10 2012-03-15 15:17:08 +01:00
Viktor Klang
149fbea5a7 Updating Copyright as per #1660 2012-01-19 18:21:06 +01:00
Roland
0fc8ae5d73 Merge branch 'wip-improve-docs-rk' 2011-12-30 00:25:11 +01:00
Roland
e7a120f923 document EventStream, see #1507
- fix some Java API issues
- also mention dead letters, see #1491
2011-12-30 00:00:25 +01:00
Viktor Klang
c371752b37 Adding ScalaDoc to EventStream 2011-12-29 14:30:44 +01:00
Viktor Klang
c56341b3a6 Fixing FIXME to rename isShutdown to isTerminated 2011-11-23 19:03:56 +01:00
Roland
5b9a57d6e4 optimize SubchannelClassification.publish (manual getOrElse inline) 2011-11-10 17:06:51 +01:00
Roland
b2d548bd0e implement SubchannelClassification in MainBus, fixes #1340 2011-11-10 00:26:53 +01:00
Roland
a747ef7856 Merge remote branch 'origin/master' into logging
BalancingDispatcherModelSpec is currently broken, leaves count==1 in
wavesOfActors test, committed anyway in order to check out where it
broke before this merge
2011-11-09 14:56:05 +01:00
Viktor Klang
3021baa3e4 Fixing the BuilderParents generated by protobuf with FQN and fixing @returns => @return 2011-11-08 19:10:07 +01:00
Jonas Bonér
9bf9cea0d9 Removed trailing whitespace 2011-10-28 15:55:47 +02:00
Roland
f46c6dc533 introducing: MainBus feat. LoggingBus
most tests passing, everything compiling, but docs not updated and nasty
thread-leak preventing me from running the whole test-suite (which is
the reason for this commit: I want to chase down that one first).

- the app.mainbus is classified by Class[_] (currently lookup, will
  possibly change to sub-class-aware) and accepts AnyRef messages
- LoggingBus handles akka.event-handlers from config specially:
  + start them as system services, supervised by SystemGuardian
  + keep their subscriptions in sync when logLevel_= is called
  + send them InitializeLogger(bus) message before subscribing them (so
    they can register for extras like Mute/UnMute)
- two-phased start-up: first phase with actor-less stdout logging, then
  subscription of config loggers, then remove stdout logger (logLevels
  configurable separately)
- MainBusReaper watches registered receivers and unsubscribes them upon
  death (started in phase 2)
- logger factory on Logging object, needs app/bus and log source;
  default instance in app.log
2011-10-27 12:36:22 +02:00
Viktor Klang
2d4251fcee Fixing a race in DeathWatchSpec 2011-10-19 14:26:53 +02:00
Viktor Klang
44e1562350 Documenting the EventBus API and removing some superflous/premature traits 2011-10-12 14:07:49 +02:00
Viktor Klang
d34e3d69ec Adding a Java API to EventBus and adding tests for the Java configurations 2011-10-12 11:46:49 +02:00
Viktor Klang
54338b5227 Adding EventBus API and changing the signature of DeathWatch to use the new EventBus API, adding some rudimentary test fixtures to EventBus 2011-10-11 17:41:25 +02:00