Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 08:34
    jiyeongj commented #4083
  • 08:33
    jiyeongj commented #4083
  • 08:33
    jiyeongj commented #4083
  • 07:57

    dependabot-preview[bot] on nuget

    (compare)

  • 07:57

    dependabot-preview[bot] on dev

    Bump MongoDB.Driver from 2.9.1 … (compare)

  • 07:57
    dependabot-preview[bot] closed #104
  • 07:52
    dependabot-preview[bot] synchronize #104
  • 07:52

    dependabot-preview[bot] on nuget

    Bump MongoDB.Driver from 2.9.1 … (compare)

  • 07:52
    dependabot-preview[bot] edited #104
  • 07:51
    dependabot-preview[bot] edited #104
  • 07:51
    dependabot-preview[bot] edited #104
  • 07:51
    Aaronontheweb commented #104
  • 07:43

    dependabot-preview[bot] on nuget

    (compare)

  • 07:43

    dependabot-preview[bot] on dev

    Bump Microsoft.NET.Test.Sdk fro… (compare)

  • 07:43
    dependabot-preview[bot] closed #102
  • 07:43
    Aaronontheweb commented #102
  • 06:35

    dependabot-preview[bot] on nuget

    (compare)

  • 06:35
    dependabot-preview[bot] closed #103
  • 06:35
    dependabot-preview[bot] commented #103
  • 06:35
    dependabot-preview[bot] labeled #104
Aaron Stannard
@Aaronontheweb
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
because it maintains a list of all registered mailbox types
Natan Vivo
@nvivo
Ok. I think I got it
Aaron Stannard
@Aaronontheweb
and there are other configuration options that have to be passed in - some of that might be legacy stuff as a result of the coupling between dispatchers and mailboxes on the JVM
@HCanber and @rogeralsing could tell you - I've not worked with it much myself
Natan Vivo
@nvivo
So, there is no mailbox registered in the default config currently, as there is only one mailbox and the priority one must be implemented by the user
Aaron Stannard
@Aaronontheweb
there's a default mailbox implementation - unbounded concurrent queue
Natan Vivo
@nvivo
There is nothing to document about these names then
Aaron Stannard
@Aaronontheweb
but yeah, no other ones to speak of
there's a bunch of stuff in JVM akka for shared mailboxes
I don't think we'll ever implement those
Natan Vivo
@nvivo
Yep
Aaron Stannard
@Aaronontheweb
routers are the correct tool for that job
Natan Vivo
@nvivo
Too much baggage
Aaron Stannard
@Aaronontheweb
agree
don't port stuff that's deprecated, right? ;)
Natan Vivo
@nvivo
:-) Ok, let's see what I can do here. Maybe tomorrow I'll have more questions
Aaron Stannard
@Aaronontheweb
sounds good bud
keep up the good work
Natan Vivo
@nvivo
Thanks for the explanations
Aaron Stannard
@Aaronontheweb
you're welcome - I hope they helped :p
Joshua Benjamin
@annymsMthd
@Aaronontheweb any idea how to make a fake task that takes a parameter? for instance "./build.cmd MultiNodeSpec ClusterDeathWatchSpec"
Aaron Stannard
@Aaronontheweb
F# is dark and evil magic