Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 21 20:34
    Aaronontheweb synchronize #5516
  • Jan 21 01:57
    Aaronontheweb commented #5400
  • Jan 21 01:42
    Aaronontheweb closed #5525
  • Jan 21 01:42
    Aaronontheweb commented #5525
  • Jan 21 01:41
    Aaronontheweb assigned #5525
  • Jan 21 01:41
    Aaronontheweb unassigned #5525
  • Jan 21 01:40
    Aaronontheweb assigned #5525
  • Jan 21 01:40
    Aaronontheweb labeled #5525
  • Jan 20 18:19
    Arkatufus synchronize #5516
  • Jan 20 18:08
    Arkatufus synchronize #5516
  • Jan 20 18:05
    Arkatufus edited #5516
  • Jan 20 18:05
    Arkatufus labeled #5524
  • Jan 20 18:05
    Arkatufus unlabeled #5524
  • Jan 20 18:02
    Arkatufus synchronize #5516
  • Jan 20 17:32
    fscavo opened #5525
  • Jan 20 16:31
    Arkatufus edited #5524
  • Jan 20 16:29
    Arkatufus edited #5524
  • Jan 20 16:29
    Arkatufus opened #5524
  • Jan 20 16:29
    Arkatufus labeled #5524
  • Jan 20 01:45

    Aaronontheweb on dev

    Removed comment that no longer … (compare)

ilhadad
@ilhadad
One more additional piece of info. The following code defines the _SupervisorRegistry IActorRef:
                        _ActorSystem.ActorSelection("akka.tcp://" + SSAActorSystem.ActorSystemName + "@127.0.0.1:8888/user/SupervisorRegistry")
                            .ResolveOne(TimeSpan.FromSeconds(3))
                            .Result;
Bartosz Sypytkowski
@Horusiath
@ilhadad
  1. If the message has been send but not received, you should be able to see it in DeadLetters.
  2. In the config you've specified, you're using cluster actor ref provider, but there is no cluster seed nodes section specified.
  3. I don't get, why are you using Ask pattern here - it looks like a book example for publish/subscribe model.
Vagif Abilov
@object

@Horusiath do you think FsApi still needs JSON.NET hack or it can be replaced with generic code. In particular I mean replacing the code:

            let serializer = context.System.Serialization.FindSerializerForType typeof<'Message> :?> Akka.Serialization.NewtonSoftJsonSerializer
            match Serialization.tryDeserializeJObject serializer.Serializer o with
            | Some m -> m
            | None -> raise (InvalidCastException("Tried to cast JObject to " + typeof<'Message>.ToString()))

with code:

            match o with
            | :? (byte[]) as bytes -> 
                let serializer = context.System.Serialization.FindSerializerForType typeof<'Message>
                serializer.FromBinary(bytes, typeof<'Message>) :?> 'Message
            | _ -> raise (InvalidCastException("Tried to cast object to " + typeof<'Message>.ToString()))
I replaced such JSON.NET-specific code with more generic and my persistent actors work. But I wonder if I missed some special case.
Bartosz Sypytkowski
@Horusiath
push the PR, I'll review it later today
Vagif Abilov
@object
OK
Bartosz Sypytkowski
@Horusiath
it will be easier to spot the possible problems this way
Vagif Abilov
@object
Sure, will push it ASAP.
Jari Pennanen
@Ciantic
Is the typed actors structurally typed? I mean I can just define my dummy class in another app without referencing some single source of types?
Andreas Dirnberger
@Zetanova
@Ciantic The akka asm's need to be linked and the base classes used.
Jari Pennanen
@Ciantic
okay, so they need single source of types
Andreas Dirnberger
@Zetanova
The typed actor is utializing the named methods by reflection for message handling
Jari Pennanen
@Ciantic
I imagine some structurally typed listener would be useful, one wouldn't need to agree on anything but the fields and the connection string
Andreas Dirnberger
@Zetanova
but i think u can easly make an actorbase type that will use an unlinked type to handle messages
i think the feature to handle messages by reflection is now in some kind of helper class
Jari Pennanen
@Ciantic
I would like to ideally define just interfaces in the listening part
no classes at all
and no assembly linking
Andreas Dirnberger
@Zetanova
its not importend what it is, the idea is myInstanceActor.Handle((dynamic)message)
one sec
protected override sealed bool Receive(object message)
        {
            MethodInfo method = GetType().GetMethod("Handle", new[] {message.GetType()});
            if (method == null)
            {
                return false;
            }

            method.Invoke(this, new[] {message});
            return true;
        }
its the current code for typedActor
GetType().GetMethod() is i think pritty slow and Handle((dynamic)message) with trycatch would be much faster
but never the less
Jari Pennanen
@Ciantic
public interface Greet {
int Id { get; set; }
string Name { get; set; }
}
ReceiveStructure<IGreet>(greet => Console.WriteLine("Hello {0}", greet.Name));
Andreas Dirnberger
@Zetanova
if u make an own actor base
that just looks up on the bases interface or class instance
for the handler method
and calls it
ten you have your decopling
Jari Pennanen
@Ciantic
hmm
Andreas Dirnberger
@Zetanova
of course Context is somethign u will need
Jari Pennanen
@Ciantic
shouldn't it check the type?
Andreas Dirnberger
@Zetanova
and IActorRef
Jari Pennanen
@Ciantic
I mean the fields
not the type name, which might not be available
Maciek Misztal
@mmisztal1980
good morning
anyone know if Akka.Remote supports port sharing?
Andreas Dirnberger
@Zetanova
unlikly
Maciek Misztal
@mmisztal1980
my scenario is : attempt to run multiple lighthouse instances in a servicefarbric cluster - the local cluster has 5 virtual nodes, but they share the same physical host - so I was curious, if I can get it up and running that way. Apparently the SF communication listeners need to support port sharing :/
Andreas Dirnberger
@Zetanova
i am not 100% sure, but for port sharing u need native support in the plattform to route the request to the proper process
like http.sys
Maciek Misztal
@mmisztal1980
seems that there's a port sharing service available https://msdn.microsoft.com/en-us/library/aa395195(v=vs.110).aspx
and it's being used in WCF
Andreas Dirnberger
@Zetanova
yes, WCF
its SOAP
Jari Pennanen
@Ciantic
namespace ConsoleApplication11
{
    [ResultMatches("MyCompany.OtherAssembly.Greet")]
    public interface IGreet
    {
        public string Who { get; set; }
    }

    public class GreetingActor : ReceiveActor
    {
        public GreetingActor()
        {
            Receive<IGreet>(greet => Console.WriteLine("Hello {0}", greet.Who));
        }
    }
}
I wonder would that work
having own attribute there
which did the "connection"