Commit graph

64 commits

Author SHA1 Message Date
Adam Voss
cce29dfa51 Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
Patrik Nordwall
ef261e8128 Merge pull request #1976 from akka/wip-3837-akka-master-on-scala-master-ban
=all #3837 Make akkaScalaNightly compile on scala 2.11.0-M8
2014-02-02 02:46:39 -08:00
Björn Antonsson
179faba453 =all #3837 Make akkaScalaNightly compile on scala 2.11.0-M8 2014-01-31 14:13:02 +01:00
Patrik Nordwall
615c6b572c =* #2966 Reduce warnings from compile, test, scaladoc 2014-01-24 11:47:57 +01:00
Patrik Nordwall
a11fb1dafc =act #3572 Add parens to sender
* because it is not referentially transparent; normally we reserved parens for
  side-effecting code but given how people thoughtlessly close over it we revised
  that that decision for sender
* caller can still omit parens
2014-01-17 18:21:14 +01:00
Björn Antonsson
003609c9c5 =pro #3759 Changed to using non-deprecated ScalaTest Matchers 2013-12-18 11:32:51 +01:00
Endre Sándor Varga
b566e9393d =act, rem, clu #3521: make serialize-messages work with core modules 2013-08-27 11:05:54 +02:00
Roland
f317aaf711 rewrite mailbox selection logic, see #3342
- add “mailbox-requirement” key to dispatcher section
- split out mailbox section, add akka.actor.default-mailbox
- rewrite findMarker method and use it for Props.create() and getting
  the required mailbox of an actor
- add ProducesMessageQueue trait for MailboxType so that requirements
  can be checked before trying to create the actor for real
- verify actor as well as dispatcher requirements for message queue
  before creation, even in remote-deployed case
- change MessageDispatcher constructor to take a Configurator, add that
  to migration guide
2013-06-02 12:32:04 +02:00
Viktor Klang
1f694a3612 #3405 - fix race between consumer and producer for MPSC 2013-05-28 16:54:58 +02:00
Viktor Klang
6aab7b8705 #3340 - Adding support for 0ms push timeout for blocking mailboxes 2013-05-16 18:07:33 +02:00
Viktor Klang
51d3149cdb Adding more tests to MailboxSpec so that we know they follow the contract ;) 2013-04-05 15:27:46 +02:00
Viktor Klang
6e4aa3231d Adding a MailboxSpec for SingleConsumerOnlyMailbox 2013-04-03 20:19:15 +02:00
Viktor Klang
adfeb2c1f0 #2879 - updating copyright info 2013-01-09 11:38:00 +01:00
Roland
0f04239f67 move Duration classes according to scala 2.10 nightly and remove casts to FiniteDuration, see #2504 2012-10-11 15:18:10 -07:00
Viktor Klang
52d33113d9 Partial work + broken commit 2012-07-04 15:25:30 +02:00
Viktor Klang
0bf45a9403 Initial work in moving to scala.concurrent.Await + Awaitable 2012-06-29 16:06:26 +02:00
Viktor Klang
1f6f2c1897 The unb0rkening 2012-06-29 14:07:38 +02:00
Viktor Klang
7f429ed63e Merge with master 2012-06-25 12:55:25 +02:00
Roland
3c15dcdfb8 Merge branch 'wip-2031-sync-actorOf-3.0-∂π'
Some tests fail ATM, but I prefer not to hide semantic fixes within
merge commits.
2012-06-25 11:12:08 +02:00
Viktor Klang
543737a933 Updating to scalatest 2.10.0-M4-x-B2 and adding feature imports 2012-06-21 16:09:14 +02:00
Roland
b60210362e make system.actorOf() non-blocking (and working), see #2031
- introducing RepointableActorRef, which starts out with an
  UnstartedActorCell which can cheaply be created; the Supervise()
  message will trigger child.activate() in the supervisor, which means
  that the actual creation (now with normal ActorCell) happens exactly
  in the right place and with the right semantics. Messages which were
  enqueued to the dummy cell are transferred atomically into the
  ActorCell (using normal .tell()), so message sends keep working
  exactly as they used to
- this enables getting rid of the brittle synchronization around
  RoutedActorRef by replacing that one with a RepointableActorRef
  subclass which creates RoutedActorCells upon activate(), with the nice
  benefit that there is no hurry then to get it right because the new
  cell is constructed “on the side”

misc fixes:

- InvalidMessageException is now actually enforced when trying to send
  “null”
- Mailboxes may be created without having an ActorCell, which can come
  in handy later, because the cell is only needed when this mailbox is
  going to be scheduled on some executor
- remove occurrences of Props(), which is equivalent to Props[Nothing],
  which is equivalent to «bug»
- add test case which verifies that context.actorOf is still synchronous
- plus all the stuff I have forgotten.
2012-06-13 17:57:56 +02:00
Viktor Klang
18260a3b7b #2203 - publish failed message deliveries to DeadLetters when bounded or durable mailbox enqueues fail 2012-06-08 13:56:53 +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
Roland
eaee16c7d3 include system.settings when constructing MailboxType, see #1864
- necessary to not have to construct one Settings object per
  MessageQueue
- added system.settings to DispatcherPrerequisites
2012-02-26 21:26:25 +01:00
Viktor Klang
2b4c8b2508 Changing so that PriorityMailboxes can be used 2012-02-21 17:24:09 +01:00
Roland
2f3737195b split Mailbox and MessageQueue, see #1844
- this enables using any MessageQueue in BalancingDispatcher,
  CallingThreadDispatcher and in general leads to less conflation of
  concepts
- add MessageQueue.cleanUp(owner, deadLetterQueue) for the benefit of
  durable mailboxes
- change MailboxType.create to take an optional owner and generate only
  a MessageQueue, not a Mailbox
2012-02-19 10:28:56 +01:00
Jonas Bonér
51a218b87f Fixes ticket #1809 - Harmonize configuration option names.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-09 20:40:09 +01:00
Viktor Klang
5ff8f4e2a4 Verifying serializability of messages when serialize is on 2011-12-27 16:25:26 +01:00
Patrik Nordwall
c4401f1ca8 Changed so that the configured FQCN of the mailboxType must be a MailboxType, not the Mailbox. See #1458 2011-12-21 19:37:18 +01:00
Patrik Nordwall
6eb7e1d438 Rename dispatcherFactory to dispatchers in ActorSystem. See #1458 2011-12-21 19:07:54 +01:00
Patrik Nordwall
f772b0183e Initial commit of dispatcher key refactoring, for review. See #1458
* Changed signatures and constructor of MessageDispatcherConfigurator
* Changed Dispatchers.lookup, keep configurators instead of dispatchers
* Removed most of the Dispatchers.newX methods, newDispatcher is still there because of priority mailbox
* How should we make it easy to configure priority mailbox?
* Changed tons tests
* Documentation and ScalaDoc is not updated yet
* Some tests in ActorModelSpec are temporary ignored due to failure
2011-12-21 13:27:50 +01:00
Patrik Nordwall
83b08b20d9 Added CustomMailbox for user defined mailbox implementations with ActorContext instead of ActorCell.
* Mailbox is still there, with ActorCell, for internal use.
* Implemented durable mailboxes with CustomMailbox
2011-12-19 21:46:37 +01:00
Patrik Nordwall
61813c6635 Make MailboxType implementation configurable. See #1484
* Added mailboxType property to dispatcher config
* Changed durable mailboxes to use this
* Updated docs for durable mailboxes
2011-12-19 21:41:02 +01:00
Viktor Klang
b32cbbc764 Renaming Block to Await, renaming sync to result, renaming on to ready, Await.ready and Await.result looks and reads well 2011-12-12 22:50:08 +01:00
Viktor Klang
2d418c188f Renaming completeWithResult to success, completeWithException to failure, adding tryComplete to signal whether the completion was made or not 2011-12-12 17:25:34 +01:00
Viktor Klang
de758c0cc1 Adding Blockable.sync to reduce usage of resultOrException.get 2011-12-11 01:29:46 +01:00
Viktor Klang
3b1330c6d7 Tests are green with new Futures, consider this a half-way-there marker 2011-12-11 00:40:52 +01:00
Henrik Engstrom
e2ad1088b0 Updated the scheduler implementation after feedback; changed Duration(x, timeunit) to more fluent 'x timeunit' and added ScalaDoc 2011-11-23 15:16:46 +01:00
Roland
62032cb1ff merge system-cleanup into master 2011-11-17 14:38:49 +01:00
Roland
648661c548 clean up initialization of ActorSystem, fixes #1050
- create ActorSystemImpl trait to make ActorSystem fully abstract
- add Java API for constructing (ActorSystem.create(...))
- only go through factory methods because .start() has become necessary
- rename all user-facing occurrences of “app” to “system” (Actor trait
  and TestKit/AkkaSpec)
- pass ActorSystemImpl to ActorRefs upon creation, which means that
  actorOf() and friends need such an argument, which must be provided to
  the ActorRefProvider by the ActorRefFactory implementation
2011-11-16 17:18:36 +01:00
Viktor Klang
e40b7cd8d6 Fixing bug where a dispatcher would shut down the executor service before all tasks were executed, also taking the opportunity to decrease the size per mailbox by atleast 4 bytes 2011-11-14 14:09:23 +01:00
Roland
1ba168774f improve DeadLetter reporting
(since I know now what’s causing these Jenkins failures ;-) )

- include recipient in DeadLetter
- include recipient in calls to enqueue/systemEnqueue
- move DeadLetterMailbox to ActorSystem (saves some space, too)
- hook up DeadLetterMailbox so it sends DeadLetters to app.deadLetters,
  which publishes them on the eventStream
- subscribe TestEventListener to DeadLetter and turn it into Warning

The generated warnings about ChildTerminated are very much correct, they
remind us that we still need to fix supervisor.stop() to await all
children’s death before actually committing suicide.
2011-11-12 10:57:28 +01:00
Viktor Klang
1b730b5c82 Removing Channel(s), tryTell etc, everything compiles but all tests are semibroken 2011-10-31 16:09:51 +01:00
Roland
bb942750aa make most AkkaSpec-based tests runnable in Eclipse 2011-10-21 17:01:22 +02:00
Viktor Klang
0dc3c5ad3d Removing receiver from Envelope and switch to use the Mailbox.actor instead, this should speed up the BalancingDispatcher by some since it doesn't entail any allocations in adopting a message 2011-10-19 13:19:44 +02:00
Viktor Klang
474787a81d Renaming createActor to actorOf 2011-10-18 17:56:23 +02:00
Roland
183dfb4d7f remove SystemEnvelope
- channel field was always set to NullChannel and not used
- receiver field is better put into the Mailbox, because there it takes
  space only once per actor
- leaves only the bare SystemMessage to be queued
2011-10-18 16:44:35 +02:00
Peter Vlugter
317b8bc03b Merge master into tame-globals branch 2011-10-13 13:41:44 +02:00
Roland
93b1ef3703 make akka-actor-tests compile again 2011-10-11 16:05:48 +02:00