-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Akka.Actor: tuck all scheduled
Tell
messages into IScheduledMsg
e…
…nvelope (#6461) * added `IScheduledTellMsg` interface to make it easier to filter out scheduled messages * fixed compilation issue * Make sure that IScheduledTellMsg gets unwrapped everywhere * Move TellInternal changes to the base class MinimalActorRef instead * Fix FlowSplitWhenSpec async code * Remove TellInterceptor, move code to ScheduledTell --------- Co-authored-by: Gregorius Soedharmo <[email protected]>
- Loading branch information
1 parent
24cbbb3
commit a91bb5e
Showing
11 changed files
with
210 additions
and
150 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
//----------------------------------------------------------------------- | ||
// <copyright file="IScheduledMsg.cs" company="Akka.NET Project"> | ||
// Copyright (C) 2009-2023 Lightbend Inc. <http://www.lightbend.com> | ||
// Copyright (C) 2013-2023 .NET Foundation <https://github.com/akkadotnet/akka.net> | ||
// </copyright> | ||
//----------------------------------------------------------------------- | ||
|
||
using Akka.Annotations; | ||
|
||
namespace Akka.Actor.Scheduler; | ||
|
||
/// <summary> | ||
/// Marker interface used to indicate the presence of a scheduled message from the | ||
/// classic scheduler API. | ||
/// </summary> | ||
/// <remarks> | ||
/// Made public so these messages can be filtered for telemetry purposes | ||
/// </remarks> | ||
[InternalApi] | ||
public interface IScheduledTellMsg : IWrappedMessage, INoSerializationVerificationNeeded | ||
{ | ||
} | ||
|
||
/// <summary> | ||
/// INTERNAL API | ||
/// </summary> | ||
internal sealed class ScheduledTellMsg : IScheduledTellMsg | ||
{ | ||
public ScheduledTellMsg(object message) | ||
{ | ||
Message = message; | ||
} | ||
public object Message { get; } | ||
} | ||
|
||
/// <summary> | ||
/// INTERNAL API | ||
/// </summary> | ||
internal sealed class ScheduledTellMsgNoInfluenceReceiveTimeout : IScheduledTellMsg, INotInfluenceReceiveTimeout | ||
{ | ||
public ScheduledTellMsgNoInfluenceReceiveTimeout(object message) | ||
{ | ||
Message = message; | ||
} | ||
|
||
public object Message { get; } | ||
} |