Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 04:50
    nagytech commented #4083
  • Dec 10 21:04
    Aaronontheweb closed #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb closed #3455
  • Dec 10 21:04
    Aaronontheweb commented #3455
  • Dec 10 21:03
    Aaronontheweb closed #3471
  • Dec 10 21:03
    Aaronontheweb commented #3471
  • Dec 10 21:02
    Aaronontheweb closed #3533
  • Dec 10 21:02
    Aaronontheweb commented #3533
  • Dec 10 21:01
    Aaronontheweb closed #3587
  • Dec 10 21:01
    Aaronontheweb commented #3587
  • Dec 10 20:49
    Aaronontheweb commented #4086
  • Dec 10 20:47
    Aaronontheweb commented #4071
  • Dec 10 18:03
    Aaronontheweb closed #3760
  • Dec 10 12:04
    valdisz commented #4071
nathvi
@nathvi
Manager is too weak in my opinion. Managers manage existing people. They don't create them instantly or make them vanish.
Arjen Smits
@Danthar
It can do whatever you want it to do :)
gl though ;) gtg
nathvi
@nathvi
aiight
me-slove
@me-slove
Like PlayerController or PlayerManager
naming over time is a critical aspect as you said @Danthar
Rodger Brennan
@rodgerbrennan
Can actors be reparented?
nathvi
@nathvi
Good question.
nathvi
@nathvi
I think it makes more sense to call the child actors slave actors.
Arjen Smits
@Danthar
@rodgerbrennan no. If you want to change the Parent, as in Context.Parent of an actor. It has to be recreated under that parent. Also. It means that the actorpath will change.
@nathvi we like child actors better ;). Since the Parent actor can decide about its lifecycle. (supervisionstrategy and sofort). And ofcourse also because thats what the JVM Akka calls it. Because its terminology integral to the design of Akka, we follow that same terminology
Sam13
@Sam13
Everybody used FileIO.FromFile for the same file at the same time?
I always get an IOException 'The process cannot access the file xyz because is being used by another process' the second time. I'm using Akka 1.3.7.
Callstack:
mscorlib.dll!System.IO.__Error.WinIOError(int errorCode, string maybeFullPath) Unknown mscorlib.dll!System.IO.FileStream.Init(string path, System.IO.FileMode mode, System.IO.FileAccess access, int rights, bool useRights, System.IO.FileShare share, int bufferSize, System.IO.FileOptions options, Microsoft.Win32.Win32Native.SECURITY_ATTRIBUTES secAttrs, string msgPath, bool bFromProxy, bool useLongPath, bool checkHost) Unknown mscorlib.dll!System.IO.FileStream.FileStream(string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) Unknown mscorlib.dll!System.IO.FileInfo.Open(System.IO.FileMode mode, System.IO.FileAccess access) Unknown Akka.Streams.dll!Akka.Streams.Implementation.IO.FilePublisher.PreStart() Unknown Akka.Streams.dll!Akka.Streams.Actors.ActorPublisher<Akka.IO.ByteString>.AroundPreStart() Unknown Akka.dll!Akka.Actor.ActorCell.UseThreadContext(System.Action action) Unknown Akka.dll!Akka.Actor.ActorCell.Create(System.Exception failure) Unknown Akka.dll!Akka.Actor.ActorCell.SysMsgInvokeAll(Akka.Dispatch.SysMsg.EarliestFirstSystemMessageList messages, int currentState) Unknown Akka.dll!Akka.Dispatch.Mailbox.ProcessAllSystemMessages() Unknown Akka.dll!Akka.Dispatch.Mailbox.Run.AnonymousMethod__36_0() Unknown Akka.dll!Akka.Actor.ActorCell.UseThreadContext(System.Action action) Unknown Akka.dll!Akka.Dispatch.Mailbox.Run() Unknown mscorlib.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() Unknown mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Unknown
Alex Hofer
@alexhofer
@Sam13 are you wrapping it in a using so the second time its free? Or are you trying to access the file from two actors at the same time?
Arjen Smits
@Danthar
@Sam13 Im not intimately familiar with the FileIO api's. But i wouldn't be suprised if reading and writing from and to the same file is not supported.
Marc Piechura
@marcpiechura
@Sam13 that’s the line for opening the file, don’t know out of my head if you could write it differently to support unlocked reads https://github.com/akkadotnet/akka.net/blob/3f924fda8d6ca55c5af90a710d23be8ce36d5c7a/src/core/Akka.Streams/Implementation/IO/FilePublisher.cs#L110
But if so we would probably accept a PR ;-)
Sam13
@Sam13
@alexhofer @Danthar @marcpiechura I have an actor which distributes files, if two client actors want the same file it's opened twice.
I think it's a bug in Akka since System.IO.FileInfo.Open which is used uses FileShare.None as default argument (FileStream.Openuses FileShare.Read as default).
I'll try to create a PR
Sam13
@Sam13
Done: akkadotnet/akka.net#3531
I really had trouble to get the unit tests running - most of them are failing - any help would be appreciated...
AndreSteenbergen
@AndreSteenbergen
Hey guys, I currently have an Flow wich starts with a Source created by Source.ActorRef<T>. And I have an actor pushing things in there. This publisher is way too fast. This method does not allow for Backpressuring. How would I create a source with Backpressure, is there an example I can follow?
AndreSteenbergen
@AndreSteenbergen
Something like this?
source = Source.ActorPublisher<ProcessPostcode>
source.Buffer(10, OverflowStrategy.Backpressure);
Marc Piechura
@marcpiechura
@AndreSteenbergen you could use Source.Queue and pass the queue to the actor but you need to stash/buffer messages inside the actor if the queue can't handle more messages
so you have to implement backpressure in the actor itself, there is no build in way to automatically backpressure an actor source
AndreSteenbergen
@AndreSteenbergen
I figured that out already, that's why I am trying to implement the ActorPublisher<T>, that would work to right?
Marc Piechura
@marcpiechura
but why ? :) do you really need an IActorRef for whatever pushes messages into the stream?
AndreSteenbergen
@AndreSteenbergen
Good question, no I don't
Marc Piechura
@marcpiechura
Then I would take the queue and use this as your input gateway
Stijn Herreman
@stijnherreman
Is it possible to use async/await in a FSM actor? Like how ReceiveActor has ReceiveAsync.
Stijn Herreman
@stijnherreman
Hmm, I guess I will have to make another attempt at fully grasping PipeTo :smile:
fleed
@fleed
using TestKit, can I synchronously wait the handling of a message (Tell(message))?
Stijn Herreman
@stijnherreman
@fleed There's a third-party library that may help you, see divverence/MarbleTesting#4. I didn't end up using it and went with always sending an ACK message instead to signal completion of a task.
fleed
@fleed
Thank you @stijnherreman
EricFowler
@EricFowler
Super easy n00bie question: Why is 'Sys' undefined in my c# akka.net application?
Alex Hofer
@alexhofer
@EricFowler mind posting the line in question?
EricFowler
@EricFowler
I can do that. It is just the starter sample from the tutorial at https://getakka.net/articles/intro/tutorial-1.html

using Akka;
using Akka.Actor;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyAkka
{
class Program
{
public class PrintMyActorRefActor : UntypedActor
{
protected override void OnReceive(object message)
{
switch (message)
{
case "printit":
IActorRef secondRef = Context.ActorOf(Props.Empty, "second-actor");
Console.WriteLine($"Second: {secondRef}");
break;
}
}
}
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var firstRef = Sys.ActorOf(Props.Create<PrintMyActorRefActor>(), "first-actor");
Console.WriteLine($"First: {firstRef}");
firstRef.Tell("printit", ActorRefs.NoSender);
Console.ReadKey();
}
}
}

The problem is here:
var firstRef = Sys.ActorOf(Props.Create<PrintMyActorRefActor>(), "first-actor");
EricFowler
@EricFowler
@alexhofer Just posted a reply; want to make sure you know about it :-)
Vasily Kirichenko
@vasily-kirichenko
@EricFowler enclose code snippets with triple back ticks (```) to format them as code
v1rusw0rm
@v1rusw0rm
@EricFowler Sys is not Akka class, it looks like a property of object which contains tutorial code snippets.
var sys = ActorSystem.Create("tutorial-actor-system");
var firstRef = sys.ActorOf(Props.Create<PrintMyActorRefActor>(), "first-actor");
fleed
@fleed
@Aaronontheweb is it planned to implement a clean way in TestKit to wait that an actor completes the handling of a message? Currently, after a actor.Tell(something), I need to put a Thread.Sleep() or a await Task.Delay(), which doesn’t look a proper way of testing.. unless I’m missing an existing way to accomplish it. I wouldn’t like to add reply messages just to be able to test the code
Chris Dewar-English
@babelchips
Hi - hoping for a bit of clarification on something. Should I be able to run both a .NET Framework 4.5.2 node and a .NET Core 2.1 node on the same cluster and have them communicate ok? A .NET Standard shared library for the message objects should work, right?
Vasily Kirichenko
@vasily-kirichenko
@babelchips no, this is not suported
Chris Dewar-English
@babelchips
@vasily-kirichenko Ah ok.
@vasily-kirichenko Is it a serialisation issue?
Arjen Smits
@Danthar
@babelchips yes. A netstandard 2.0 compatible version is in the works.
to11mtm
@to11mtm
Hey guys... Is there some sort of rule about Priority Mailboxes and Tell/Ask from outside the system? I've got a thing happening where it looks like none of my messages sent from outside the system (directly, i.e. local IActorRef) are going through the mailbox.
the message gets received by the actor, and when the actor gets messages from it's children (The only other thing really inside the system) those do go through the mailbox
to11mtm
@to11mtm
Ahhh.... I think I figured it out. It looks like mailbox gets involved in prioritizing when there is more than one message enqueued to the mailbox!