Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 03:08
    hhko commented #4094
  • Dec 13 21:37
    Aaronontheweb commented #4085
  • Dec 13 20:28
    IgorFedchenko commented #4085
  • Dec 13 20:27
    IgorFedchenko commented #4085
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb milestoned #4096
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb opened #4096
  • Dec 13 10:41
    peirens-bart opened #4095
  • Dec 13 08:37
    Aaronontheweb synchronize #4071
  • Dec 13 08:13
    jiyeongj opened #4094
  • Dec 12 15:42
    Aaronontheweb synchronize #4086
  • Dec 12 15:42
    Aaronontheweb closed #4083
  • Dec 12 15:42

    Aaronontheweb on dev

    Fix #4083 - Endpoint receive bu… (compare)

  • Dec 12 15:42
    Aaronontheweb closed #4089
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb opened #4093
  • Dec 12 14:20
    Aaronontheweb commented #4092
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
you didn't do anything "wrong"
but I ended up needing that PR for something I had to work on
so I incorporated that change into one of mine
Geert Van Laethem
@GeertVL
@Aaronontheweb do I still try to fix it or is it done now?
Ha ok. That answers my question
Ok I look at the issues on akka-remote.
Aaron Stannard
@Aaronontheweb
thanks man, we'd really appreciate that
if you have any questions about what to do with those issues, you can always ping me in here or if you'd like I can give you my Skype info
Geert Van Laethem
@GeertVL
On a side note, Is it wise to study scala and Akka to be more of a help with akka.net?
Yes please that makes it easier.
Aaron Stannard
@Aaronontheweb
through the act of trying to port Akka to .NET, you'll end up learning a lot of Scala that way
Geert Van Laethem
@GeertVL
I thought so.
Aaron Stannard
@Aaronontheweb
for instance, they have their own version of the TPL (Scala Futures)