Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 16:19
    valdisz synchronize #3904
  • 14:58
    Aaronontheweb synchronize #3924
  • 14:58
    Aaronontheweb commented #3922
  • 14:45
    valdisz synchronize #3904
  • 14:43
    valdisz synchronize #3904
  • 14:35
    Aaronontheweb commented #3925
  • 09:51
    cptjazz opened #3925
  • 09:11
    cptjazz opened #3924
  • Sep 20 23:30

    Aaronontheweb on dev

    added ability to support custom… (compare)

  • Sep 20 23:30
    Aaronontheweb closed #3923
  • Sep 20 23:30
    Aaronontheweb closed #3861
  • Sep 20 23:26
    Aaronontheweb opened #3923
  • Sep 20 23:01
    Aaronontheweb commented #3922
  • Sep 20 22:59
    Aaronontheweb closed #3890
  • Sep 20 22:59
    Aaronontheweb commented #3890
  • Sep 20 22:58
    Aaronontheweb synchronize #3922
  • Sep 20 22:58
    Aaronontheweb opened #3922
  • Sep 20 22:21
    Aaronontheweb commented #3905
  • Sep 20 22:21

    Aaronontheweb on dev

    Fixed Akka.Remote.ResendUnfulfi… (compare)

  • Sep 20 22:21
    Aaronontheweb closed #3914
Aaron Stannard
@Aaronontheweb
the talks I really wanted to see at .NET Fringe were the Nancy talks
Joshua Benjamin
@annymsMthd
I'm using ansible to setup windows servers and I have to say that powershell has come a long way.
Aaron Stannard
@Aaronontheweb
because I'd always been interested to see how web frameworks developed outside MSFT work
I was pretty blown away by both Nancy and ScriptCS
Joshua Benjamin
@annymsMthd
We use Nancy
Aaron Stannard
@Aaronontheweb
how do you like it?
Joshua Benjamin
@annymsMthd
Love it
Natan Vivo
@nvivo
I dont like powershell
Joshua Benjamin
@annymsMthd
We actually have Nancy frontend servers for our Akka cluster:)
Natan Vivo
@nvivo
Aaron, I'm on my phone so it's hard to type again... But can you take a look at my question about the mailbox vs msg queue above?
Aaron Stannard
@Aaronontheweb
@nvivo oh right, saw that earlier
@nvivo big difference is that the message queue is a required implementation of the mailbox
so you can say "I want a PriorityMailbox"
(that's what WithMailbox is for)
but if your actor uses a stash then is also decorates itself with a IRequiresDequeSemantics interface
which means that its PriorityMailbox implementation must support a double ended queue for stashing
so both values get respected
one is just a lower-level abstraction than the other
the message queue requirement gets fulfilled by the mailbox when it's created
Natan Vivo
@nvivo
Hmmm
Ok
Aaron Stannard
@Aaronontheweb
the mailbox wraps the message queue
in other words
a ConcurrentQueueMailbox can support bounded, unbounded message queues - and those message queues can also have deque semantics for stashing
Natan Vivo
@nvivo
So, I think it's better to explain first how to change the mailbox, and then explain the message queue in another section
Aaron Stannard
@Aaronontheweb
agree
Natan Vivo
@nvivo
Another thing is that WithMailbox takes a string. Is that the fully qualified name of thr mailbox? In akka therr are some keywords, but I didn't find them on akka.net
Aaron Stannard
@Aaronontheweb
yep, it can be
oh wait
no it can't
you have to define your mailbox types inside your config
just like dispatchers
Natan Vivo
@nvivo
Directly in the root right?
Aaron Stannard
@Aaronontheweb
sorry, my internet keeps dying
akka {  
            stdout-loglevel = ERROR
            loglevel = DEBUG
            actor {

                debug {  
                  receive = on
                  autoreceive = on
                  lifecycle = on
                  event-stream = on
                  unhandled = on
                }       
            }

          }

          replay-mailbox {
             mailbox-type: "TrafficSimulator.PlaybackApp.Actors.ReplayMailbox,TrafficSimulator.PlaybackApp"
          }
_replyAgents =
                Context.ActorOf(
                    Props.Create(() => new ReplayActor(new ReplaySettings() {Host = _httpAuthority}, Self))
                        .WithRouter(new RoundRobinPool(2, new DefaultResizer(2, 15))).WithMailbox("replay-mailbox"));
like that
you can declare it anywhere technically
but yeah, since this isn't an "akka" setting you typically make it in a user-defined root element
that's the correct convention IMHO
Natan Vivo
@nvivo
Right. So, there is no way to set that in the actor code? Something like an attribute or interface?
Aaron Stannard
@Aaronontheweb
the mailbox?
Natan Vivo
@nvivo
Yes
Aaron Stannard
@Aaronontheweb
no, that has to be declared as part of Props
the message queue the mailbox uses is determined by your actor code - the interfaces
99% of the time that's a detail that comes up when you use stashing (this happens under the hood, unknown to the user)
Natan Vivo
@nvivo
I mean the type. Is there a way to say something like context.ActorOf<Foo>().WithMailbox<MyMailbox>()?
Aaron Stannard
@Aaronontheweb
ah, no
it has to be registered with the systems
errr, ActorSystem