Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 17:25
    valdisz synchronize #3889
  • 17:17
    valdisz synchronize #3889
  • 15:44
    valdisz synchronize #3889
  • 09:22
    ismaelhamed commented #3863
  • Oct 19 23:39
    valdisz synchronize #3889
  • Oct 19 23:08
    edvinasz commented #2947
  • Oct 19 13:36
    Aaronontheweb commented #3973
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3995
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump BenchmarkDotNet from 0.10.… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] edited #3995
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3993
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Google.Protobuf from 3.9.1… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3991
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Microsoft.Extensions.Depen… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3989
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump ApiApprover from 3.0.1 to … (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3992
  • Oct 19 13:34
    dependabot-preview[bot] edited #3993
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3985
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump System.Reflection.Emit fro… (compare)

Ronnie Overby
@ronnieoverby
If you haven't caught on yet I'm trying to prioritize Subscription/Unsubscription messages over publish messages to a pub/sub actor
Aaron Stannard
@Aaronontheweb
oh man
Ronnie Overby
@ronnieoverby
?
Aaron Stannard
@Aaronontheweb
lol try this
Ronnie Overby
@ronnieoverby
the suspense!
Aaron Stannard
@Aaronontheweb
mailbox-type : "AFS.BatchService.Actors.PubSub+Mailbox, AFS.BatchService"
with the colon instead
the other possibility here is that the HOCON parser in Akka.NET can't deal with the nested type in the FQN
which would be... odd
since you said you can see it being instantiated
Ronnie Overby
@ronnieoverby
leave it to me to find an edge case the very first time I try to use something. It never fails
Aaron Stannard
@Aaronontheweb
just a guess - I think an = should work
Ronnie Overby
@ronnieoverby
yeah it's a nested class because no other actor would ever need this mailbox
Aaron Stannard
@Aaronontheweb
but I noticed that's what we did in our specs
Ronnie Overby
@ronnieoverby
no that didn't help
Aaron Stannard
@Aaronontheweb
ok
theory 2
nested types
Ronnie Overby
@ronnieoverby
1 sec let me try
Aaron Stannard
@Aaronontheweb
theory 3: you can verify that this actor is actually receiving messages, right?
Ronnie Overby
@ronnieoverby
theory 3 yes I def see receive handlers getting hit
theory 2 is no good
unnested type gets constructed but overridden method never called
I can maybe work up an isolated failing test for you
Aaron Stannard
@Aaronontheweb
if messages are making it through then, means that either your actor isn't using this mailbox
Ronnie Overby
@ronnieoverby
you see my props creation, though
Aaron Stannard
@Aaronontheweb
yep
Ronnie Overby
@ronnieoverby
and I see a debugger breaking in the mailbox ctor
want a stack trace at that point?
idk if it will help or not
Aaron Stannard
@Aaronontheweb
nah, I believe you on that
do me a favor
throw an exception in the PriorityGenerator
Ronnie Overby
@ronnieoverby
?
ok
Aaron Stannard
@Aaronontheweb
we call this a "tracer round"
lol
Ronnie Overby
@ronnieoverby
i like it
nothing happened
    protected override int PriorityGenerator(object message)
    {
        throw new ApplicationException("BLARGH!");

        if (message is Unsubscribe || message is Subscribe)
            return 0;

        return 1;
    }
Aaron Stannard
@Aaronontheweb
alrighty then
and the actor still received its message?
Ronnie Overby
@ronnieoverby
yes
Aaron Stannard
@Aaronontheweb
you know... I wonder....
this would be extremely weird
public abstract class UnboundedPriorityMailbox : MailboxType, IProducesMessageQueue<UnboundedPriorityMessageQueue>
    {
        protected abstract int PriorityGenerator(object message);

        public int InitialCapacity { get; }

        public const int DefaultCapacity = 11;

        public sealed override IMessageQueue Create(IActorRef owner, ActorSystem system)
        {
            return new UnboundedPriorityMessageQueue(PriorityGenerator, InitialCapacity);
        }

        protected UnboundedPriorityMailbox(Settings settings, Config config) : base(settings, config)
        {
            InitialCapacity = DefaultCapacity;
        }
    }
this is the unbounded priority mailbox in its full glory
Ronnie Overby
@ronnieoverby
pretty simple
Aaron Stannard
@Aaronontheweb
it's just a type provider
it takes your priority function and passes it into that queue