These are chat archives for petabridge/akka-bootcamp

May 2015
Thomas Tomanek
May 12 2015 10:35
if you haven't seen, Vaughn Vernon is bringing out a book in July about Akka (JVM Akka). Been reading it on safaribooksonline, looks like a good read and should apply largely to Akka.Net
Aaron Stannard
May 12 2015 14:28
@sadprofessor yep, that's the great thing about Akka / Akka.NET
even though the implementations are a little different due to language / runtime differences
the concepts are still the same
everything in that book should be equally applicable to Akka.NET, unless he covers stuff we haven't implemented yet like Akka.Streams
Thomas Tomanek
May 12 2015 14:37
@Aaronontheweb Yeah totally, not having any trouble at all reading it and applying it to Akka.Net, just ignoring the Scala :P It's a shame it's probably a bit too late for him to chop in an appendix about
Ralf Westphal
May 12 2015 16:34
Blogged: How Akka .NET can be used to improve the architecture of even a simple application relying on multiple threads,
And the use of Akka.NET even comes with colored design diagrams :-)
Aaron Stannard
May 12 2015 16:58
is this your blog @ralfw ? This post looks greaT!
Ralf Westphal
May 12 2015 16:59
yes, my blog
my English one. there is another one in German :-)
May 12 2015 18:29
Quick question: Regardin the ContinueWith call that we see in the PipeTo examples. It appears if I'm doing a PipeTo(self) versus PipeTo(sender) that I definitely need to use the bit flags TaskContinuationOptions.AttachedToParent & TaskContinuationOptions.ExecuteSynchronously. Is that correct?
And I understand why - but I just wanted to make sure there's no other edge case that I'm missing. I was going to include them in my own code to Pipe the results back to the message sender when I realized none of the example code in the bootcamp lesson was doing it so I figure this has to be the difference.
Aaron Stannard
May 12 2015 21:57
@mggillen you don't "definitely" need to
I stressed that in one of the samples I wrote, but since then I've changed my mind a bit
there were some instances, like in the remoting handshake area within Akka.NET, where leaving out those two flags meant some operations with soft real-time requirements (i.e. had to complete within 3 seconds or bad things happened) would fail occasionally
so I started aggressively using those flags - the AttachedToParent flag gets ignored most of the time
but what ExecuteSynchronously does it essentially inline the next task onto the current thread
you probably don't need to use either of them most of the time
I got burned when I was writing Akka.Remote originally for not having them though :p - that's what I started using them EVERYWHERE. But I realize now that it's probably unnecessary
most of the time
as for the PipeTo bit
when you use those flags has a lot more to do with what's happening in your continuation
who you pipe the result to doesn't have any real impact
Aaron Stannard
May 12 2015 22:03
I use ExecuteSynchronously most of the time when whatever I'm doing inside the ContinueWith is fast and there's something with a timeout / deadline waiting on the result of this continuation
because in that case, you don't want the operation to fail because you ended up at the back of the scheduler's work queue
better off just scheduling immediately onto the thread of the preceding task
and executing synchronously