public static StrategyDecision New(
     Directive processDirective,
     MessageDirective messageDirective,
     IEnumerable <ProcessId> affects,
     Time pause
     ) =>
 new StrategyDecision(processDirective, messageDirective, affects, pause);
 public StrategyDecision(
     Directive processDirective,
     MessageDirective messageDirective,
     IEnumerable <ProcessId> affects,
     Time pause
     )
 {
     ProcessDirective = processDirective;
     MessageDirective = messageDirective;
     Affects          = affects;
     Pause            = pause;
 }
Пример #3
0
 public static State <Directive, Option <MessageDirective> > Otherwise(MessageDirective directive) =>
 Otherwise(_ => directive);
Пример #4
0
 internal static State <Directive, Option <MessageDirective> > When(MessageDirective directive, Directive dir) =>
 When(_ => directive, dir);
Пример #5
0
 public static State <Directive, Option <MessageDirective> > When <TDirective>(MessageDirective directive) where TDirective : Directive =>
 When <TDirective>(_ => directive);
Пример #6
0
 /// <summary>
 /// Provides a message redirection strategy that always uses the same MessageDirective
 /// regardless of the Directive provided.
 /// </summary>
 /// <param name="defaultDirective">Default message directive</param>
 /// <returns>Strategy computation as a State monad</returns>
 public static State <StrategyContext, Unit> Redirect(MessageDirective defaultDirective) =>
 Redirect(Otherwise(defaultDirective));