incorporate review comments, add docs, see #2031

also add Java sample for creating custom MailboxType
This commit is contained in:
Roland 2012-06-19 14:52:02 +02:00
parent b60210362e
commit 422cf386c8
12 changed files with 157 additions and 60 deletions

View file

@ -198,3 +198,23 @@ And then you just specify the FQCN of your MailboxType as the value of the "mail
the configuration which describes the dispatcher using this mailbox type; the
mailbox type will be instantiated once for each dispatcher using it.
Special Semantics of ``system.actorOf``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to make ``system.actorOf`` both synchronous and non-blocking while
keeping the return type :class:`ActorRef` (and the semantics that the returned
ref is fully functional), special handling takes place for this case. Behind
the scenes, a hollow kind of actor reference is constructed, which is sent to
the systems guardian actor who actually creates the actor and its context and
puts those inside the reference. Until that has happened, messages sent to the
:class:`ActorRef` will be queued locally, and only upon swapping the real
filling in will they be transferred into the real mailbox. Thus,
.. code-block:: scala
system.actorOf(...) ! "bang"
assert(bangIsInMyCustomMailbx)
will probably fail; you will have to allow for some time to pass and retry the
check à la :meth:`TestKit.awaitCond`.