Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 14 21:02
    Aaronontheweb synchronize #3975
  • Oct 14 21:02
    Aaronontheweb opened #3975
  • Oct 14 20:11
    IgorFedchenko commented #3973
  • Oct 14 20:10
    IgorFedchenko synchronize #3973
  • Oct 14 20:06
    IgorFedchenko synchronize #3973
  • Oct 14 20:06
    IgorFedchenko synchronize #3973
  • Oct 14 19:42
    IgorFedchenko edited #3973
  • Oct 14 18:08
    Aaronontheweb commented #3937
  • Oct 14 17:27
    Aaronontheweb commented #90
  • Oct 14 17:26
    Aaronontheweb commented #90
  • Oct 14 17:25
    Aaronontheweb assigned #90
  • Oct 14 17:16

    Aaronontheweb on dev

    Provide static GetRoutees.Insta… (compare)

  • Oct 14 17:16
    Aaronontheweb closed #3974
  • Oct 14 17:16
    Aaronontheweb milestoned #3974
  • Oct 14 16:05
    jackowild opened #90
  • Oct 14 15:08
    Aaronontheweb commented #3974
  • Oct 14 15:08
    Aaronontheweb commented #3974
  • Oct 13 14:40
    cptjazz synchronize #3974
  • Oct 13 14:07
    cptjazz opened #3974
  • Oct 13 08:30
    ismaelhamed commented #3937
Tomas Vana
@creepone
I tried both nuget and 1.0.5.69-beta from the MyGet feed.
Bartosz Sypytkowski
@Horusiath
@Aaronontheweb why did you put all of the spec porting tasks in a separate issues each? This feels a little messy for me
also guys, what is the state of the Paket in akka.net?
Roger Johansson
@rogeralsing
@Horusiath I think the individual issues are good, easier for new contrbutors to pick just one and complete that one
also, IMO we should have a meeting regarding Paket and Migrant, not stuff we can decide too lightly
Bartosz Sypytkowski
@Horusiath
@rogeralsing I have a hard time in my work right now, I couldn't manage enough time to test Migrant myself, my concern is still performance comparison
billyxing
@billyxing
@Aaronontheweb here is the gist where I am setting it up and handling terminated message. gist
Steven van der Merwe
@SaberZA
Hey all, I'm trying to assess the use of Akka.Net in production. Currently, I'm looking at some sort of DDD approach with async / non-blocking IO operations for all my logic components, and I just feel that Actors is the space that I need to be in right now. I am also likely to have scaling problems, so the actor model seems even more viable. Is the current Akka.Net version stable enough for production?
Roger Johansson
@rogeralsing
@Horusiath Ill do some benchmark tests. My guess is that network will be a larger overhead than serialization
They do use reflection emit heavily so i think they have perf under control. But Ill check it out
Bartosz Sypytkowski
@Horusiath
@SaberZA we already have a guys running it on production
Geert Van Laethem
@GeertVL
What is the best time of the day to ask for new issues to work on?
Key contributors are not online whole day I suppose.
Roger Johansson
@rogeralsing
I think we are, some in the US and some on Europe.
Geert Van Laethem
@GeertVL
@rogeralsing can you give me a new issue or thing I can work on to help?
Roger Johansson
@rogeralsing
Im out right now, check any "up for grabs" or "help wanted" issue and just add a comment to the one you want
Geert Van Laethem
@GeertVL
@rogeralsing ok I will do that.
Maciek Misztal
@mmisztal1980
Hey guys, I'm writing a simple tool to stress-test one of our apps, I'd apreciate a hint on how to measure the execution time of the HttpClient and attach it via PipeTo? (currently I'm piping the HttpResponseMessage :worried:
using (var client = new HttpClient())
            {
                var request = new HttpRequestMessage(msg.HttpMethod, msg.Uri);

                client
                    .SendAsync(request)
                    .PipeTo(Self);
            }
Coinio
@Coinio
Hey guys. Love Akka.net so far and working through the bootcamp... Are any of you aware of any decent code demos / articles on Akka for games? I can only find very simple examples, which don't really address the issues I'm thinking about, mainly sharing /maintaining a single state of the world between each of the players/AIs. Each AI will need to know the state of the world in order to make decisions, and I can't think of how this would work without having some central MapActor that each AIActor has to ask/tell everything, which would seem like the MapActor ends up being a bottleneck. Is this one of the cases were Akka isn't necessarily a good fit?
Anthony Brown
@bruinbrown
@Coinio I've not got anything written up but last September time I tried using Akka.Net on client game development. Is that what you're thinking of or more for backend stuff?
Bartosz Sypytkowski
@Horusiath

@mmisztal1980 you can create a custom response wrapper in SendAsync continuation like:

using (var client = new HttpClient())
{
         var request = new HttpRequestMessage(msg.HttpMethod, msg.Uri);

         var start = DateTime.UtcNow;
         client
               .SendAsync(request)
               .ContinueWith(task => !(task.IsCancelled || task.IsFaulted) ? new SuccessfulResponse(task.Result, start: start, stop: DateTime.UtcNow) : new FailedResponse(task.Result, start: start, stop: DateTime.UtcNow) , 
                      TaskContinuationOptions.AttachedToParent|TaskContinuationOptions.ExecuteSynchronously)
               .PipeTo(Self);
}

Task continuation options are used here to not spawn separate tasks for one simple operation (creating message wrapper), we attach it to task running SendAsync instead.

Coinio
@Coinio
Just a simple single player monogame project for now, to test out/learn Akka.Net
Bartosz Sypytkowski
@Horusiath
@Coinio there are some examples on akka (jvm version) used for game dev - you can use those examples, API for both versions (JVM and .NET) is very similar. Have you tried that?
also depending on how big the state of the world will be and it's ability to be partitioned (maybe actor don't need the whole state, only slice of it), the different strategies may apply
Coinio
@Coinio
@Horusiath I've come across a couple but I can't seem find any real code examples that are more than simple test games. I'll keep searching and finish the bootcamp first before I start getting ahead of myself :)
Maciek Misztal
@mmisztal1980
cheers!
Damian Reeves
@DamianReeves
Concerning PipeTo: If my intent is to allow my Actor to continue processing other messages while a long running task runs, then I don't need to use PipeTo correct?
Bartosz Sypytkowski
@Horusiath
@DamianReeves
  1. Don't introduce concurrency on an actor level. You'll introduce all problems of concurrency actors are supposed to solve. If you have long running tasks, isolate them in dedicated actors.
  2. PipeTo is used by and actor to keep up with task completion acknowledgements. You can use it without problems.
Damian Reeves
@DamianReeves
@Horusiath thanks. Point 1. has been my preferred approach, but I wasn't sure if something else was preferred.
So if I need to write a file from records in a database I do:
  1. Create an Actor for the whole process, lets call it DataWriterActor
  2. Create a child of DataWriterActor called DataExtractor
  3. Do data access in DataExtractor
  4. Tell parent of results
    Is this the recommended approach?
Bartosz Sypytkowski
@Horusiath
except making them a parent/child relation, yes :)
Damian Reeves
@DamianReeves
You keep them totally independent?
Bartosz Sypytkowski
@Horusiath
both of those actor types are making potentially risky operations, you could supervise them with dedicated parent actors and simply keep an actor ref between them
Damian Reeves
@DamianReeves
Ok got it
Roger Johansson
@rogeralsing
@skotzko what is the new "ready" label about ? it shows up on tasks that are not yet started so that seems odd
Weston
@ronnyek
so with the io shit, can the actors be multiplexed against same port on same ip?
or is it like the actors host the tcp endpoint?
Sean Killeen
@SeanKilleen
@rogeralsing maybe "ready" in the sense that tasks are ready to be worked on (e.g. acknowledged / explained enough)? Just spitballing a guess.
Roger Johansson
@rogeralsing
ah, that could be it
Sean Gilliam
@sean-gilliam
@Coinio you could be the first to write such an example ;)
Aaron Stannard
@Aaronontheweb
@Horusiath put them into separate tasks because I'm asking some of our newer contributors to take them on - this makes it easier to assign them
@GeertVL all of these issues are available for work - we'd really appreciate your help with them: https://github.com/akkadotnet/akka.net/labels/akka-remote
Coinio
@Coinio
@sean-gilliam Once I'm done with the bootcamp I'll definitely give it a go
Geert Van Laethem
@GeertVL
@Aaronontheweb can you tell me why you closed #1136 without merging. I want to learn from the mistake I made.
Aaron Stannard
@Aaronontheweb
@creepone we need to port the following spec to verify that the UID changes: akkadotnet/akka.net#1254, and this one for remote deathwatch akkadotnet/akka.net#1251
but even in the event of an unplanned termination, you should still get the deathwatch notification
@GeertVL yeah, I couldn't merge it into dev due to a merge conflict - asked you to do a rebase on dev a couple of weeks ago and never heard back
which would have resolved the issue
Geert Van Laethem
@GeertVL
@Aaronontheweb sorry I was on vacation.
Aaron Stannard
@Aaronontheweb
I figured you were busy
no worries man