Howdie,
I'm wondering if it's possible to implement my use case and what the best
implementation of that might look like.
I'd like to have a bi-directional set of channel messages chunked
independently and multiplexed across a TCP connection. Something that
looks like this:
ChannelMessage(id: Long, msg: Any) <-->
ChannelByteString(id: Long, bytes: ByteString) <-->
Seq[ByteString] <--> // The ChannelByteString chunked up
TCP
The chunking and serializing is clear to me and I've got a pipeline for
that now. What I'm lost on is the dynamic nature of the channels; the TCP
connection is set up ahead of time, and then parties on either end of it
negotiate a temporary channel on which they can communicate within it.
i.e. there's plexing going on in there.
Fan-In and Fan-Out seem to be entirely appropriate to solve this problem,
but... I don't want a 1->n or n->1 where n is fixed. I need n to be a
variable.
What's the best way to do this? Am I looking to using Actors to solve this
problem, something more like this:
ChannelMessage(id: Long, msg: Any) <-->
ChannelByteString(id: Long, bytes: ByteString) <-->
=== Actor bridge in here that can install and remove channels ===
Seq[ByteString] <--> // The ChannelByteString chunked up
TCP
Thanks a lot. It really looks like streams have come a very long way since
I last looked. I haven't wrapped my head around them very well as of yet,
but I definitely have a feel of the power in them. Bravo :)
Cheers,
Derek
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> 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/d/optout.