Hi Rob,

I don't think you need to go into the internals of ActorRefs to achieve
what you want. You can create a proxy actor that does the pipelining you
need, you can even wrap it in a Future based interface if you like.

The proxy actor then would:
 - obtain an actorRef from an ActorSelection
 - at the same time queue up requests from user, then sending the first as
soon as the target actor ref is resolved
 - sends result of request back to user, and forwards the next request to
the target actor
 - continues until all requests are satisfied, or until failure, or until
timeout

-Endre




On Mon, Jan 20, 2014 at 1:23 PM, Robert Withers <[email protected]> wrote:

> Hi, in browsing, I found that the RemoteActorRef, in
> RemoteActorRefProvider, calls this send.
>
> private[akka] abstract class RemoteTransport(val system:
> ExtendedActorSystem, val provider: RemoteActorRefProvider) {
>   /**
>    * Sends the given message to the recipient supplying the sender if any
>    */
>   def send(message: Any, senderOption: Option[ActorRef], recipient:
> RemoteActorRef): Unit
>
>
> but I found no subclasses, so I was unable to find an actual
> implementation of send(...).  Where might I find that?
>
> thank you,
> Robert
>
> On Jan 20, 2014, at 12:00 AM, Roland Kuhn <[email protected]> wrote:
>
> Hi Rob,
>
> it will be interesting to see which walls you hit and how hard they prove
> to be--and whether the result actually improves performance in typical
> scenarios. In any case, you'll want to look at the other sub-projects as
> well to check out ClusterActorRefProvider and RemoteActorRefProvider (and
> the kind of ActorRefs used by the latter).
>
> Regards,
>
> Roland
>
> 20 jan 2014 kl. 06:05 skrev Rob Withers <[email protected]>:
>
> Is the remote implementation in that file as well?  If it is like
> Elib/murmur, then the sender side has a special, remote handler, while the
> receiver side has a local ref.
>
> Robert
>
> On Jan 19, 2014, at 4:44 PM, Konrad Malawski <[email protected]> wrote:
>
> Ah, and the impl itself depends on if it's an remote or local actor etc.
> But it's also in this file, for example for LocalActorRef:
> https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRef.scala#L384
> --
> Cheers,
> Konrad Malawski
> blog.project13.pl | java.pl | geecon.org  | gdgkrakow.pl | krakowscala.pl
>
>
> 2014/1/19 Konrad Malawski <[email protected]>
>
>>  It's in ActorRef.scala, but in a special trait
>> <https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRef.scala#L178>
>> https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/ActorRef.scala#L178
>>
>> trait ScalaActorRef { ref: ActorRef =>
>>   def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit
>> }
>>
>> This trick is used in order to not pollute the Java API with methods like
>> !.
>> There is an implicit available in an Actor from ActorRef to ScalaActorRef
>> ,
>>
>> so you have this method available only in Scala code.
>>
>> --
>> Konrad
>>
>> On Sunday, 19 January 2014 at 22:49, Rob Withers wrote:
>>
>> So that I may look into adapting different semantics.  I did not find it
>> in ActorRef.scala, so I am grasping.
>>
>> thanks,
>>   - robert
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
>
> *Dr. Roland Kuhn*
> *Akka Tech Lead*
> Typesafe <http://typesafe.com/> - Reactive apps on the JVM.
> twitter: @rolandkuhn
> <http://twitter.com/#!/rolandkuhn>
>
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>   - robert
>
>
>
>
>
>
>
>
>
>  --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Akka Team
Typesafe - The software stack for applications that scale
Blog: letitcrash.com
Twitter: @akkateam

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: http://akka.io/faq/
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to