/// <summary> /// This is the default constructor for the memory persistence manager. /// This persistence manager is used to hold an in-memory JSON representation of the entity. /// It is primarily used for test purposes, but can be used in a production context. /// Please note that all data will be lost when the service is restarted. /// </summary> /// <param name="keyMaker">This function creates a key of type K from an entity of type E</param> /// <param name="keyDeserializer">The entity key deserializer.</param> /// <param name="entityName">The entity name to be used in the collection. By default this will be set through reflection.</param> /// <param name="versionPolicy">The version policy. This is needed if you wish to support optimistic locking for updates.</param> /// <param name="defaultTimeout">The default timeout. This is used for testing to simulate timeouts.</param> /// <param name="persistenceRetryPolicy">The retry policy. This is used for testing purposes.</param> /// <param name="resourceProfile">The resource profile.</param> /// <param name="cacheManager">The cache manager.</param> /// <param name="referenceMaker">The reference maker. This is used for entities that support read by reference.</param> /// <param name="referenceHashMaker">The reference hash maker. This is used for fast lookup.</param> /// <param name="keySerializer">The key serializer function.</param> /// <param name="policy">The policy.</param> /// <param name="prePopulate">The optional pre-population collection.</param> public PersistenceManagerHandlerMemory(Func <E, K> keyMaker , Func <string, K> keyDeserializer , string entityName = null , VersionPolicy <E> versionPolicy = null , TimeSpan?defaultTimeout = default(TimeSpan?) , PersistenceRetryPolicy persistenceRetryPolicy = null , ResourceProfile resourceProfile = null , ICacheManager <K, E> cacheManager = null , Func <E, IEnumerable <Tuple <string, string> > > referenceMaker = null , Func <Tuple <string, string>, string> referenceHashMaker = null , Func <K, string> keySerializer = null , CommandPolicy policy = null , IEnumerable <KeyValuePair <K, E> > prePopulate = null ) : base(keyMaker , keyDeserializer , entityName , versionPolicy , defaultTimeout , persistenceRetryPolicy , resourceProfile , cacheManager , referenceMaker , referenceHashMaker , keySerializer , policy , prePopulate ) { }
public static CommandSchedule ToCommandSchedule(this CommandPolicy policy, Func <Schedule , CancellationToken, Task> execute, string name) { return(new CommandSchedule(execute , policy.JobPollSchedule , name , policy.JobPollIsLongRunning)); }
/// <summary> /// This is the constructor for registering a manual command. /// </summary> /// <param name="header">The ServiceMessageHeader route for the command.</param> /// <param name="command">The command to process.</param> /// <param name="referenceId">The optional reference id for tracking.</param> /// <param name="policy">The command policy.</param> public CommandMethodInline(ServiceMessageHeader header , Func <CommandMethodRequestContext, Task> command , string referenceId = null , CommandPolicy policy = null) : base(policy ?? new CommandPolicy() { OnProcessRequestException = ProcessRequestExceptionBehaviour.SignalSuccessAndSend500ErrorResponse }) { mKey = new MessageFilterWrapper(header, null); mCommand = command; mReferenceId = referenceId; }
internal CommandHarnessDispatchWrapper(CommandPolicy policy , IServiceHandlers serviceHandlers , Action <TransmissionPayload, string> executeOrEnqueue , Func <ServiceStatus> getStatus , bool traceEnabled , string originatorServiceId = null) : base(serviceHandlers, executeOrEnqueue, getStatus, traceEnabled) { DefaultOriginatorServiceId = originatorServiceId; Policy = policy; }
/// <summary> /// This is the constructor for registering a manual schedule. /// </summary> /// <param name="command">The command to process.</param> /// <param name="config">The time configuration.</param> /// <param name="referenceId">The optional reference id for tracking.</param> /// <param name="isLongRunning">Specifies whether this is a long running process.</param> /// <param name="policy">The command policy.</param> public CommandScheduleInline(Func <CommandScheduleInlineContext, Task> command , ScheduleTimerConfig config = null , string referenceId = null , bool isLongRunning = false , CommandPolicy policy = null) : base(policy) { mCommand = command ?? throw new ArgumentNullException("command", "The command function cannot be null"); mTimerConfig = config ?? new ScheduleTimerConfig(enforceSetting: false); mReferenceId = referenceId; mIsLongRunning = isLongRunning; }
public CommandBase(CommandPolicy policy = null) : base(policy) { }
/// <summary> /// Initializes a new instance of the <see cref="CommandHarness{C}"/> class. /// </summary> /// <param name="policy">The optional command policy.</param> /// <param name="commandCreator">This is the optional creator function to create the command.</param> public CommandHarness(CommandPolicy policy = null, Func <C> commandCreator = null) : base(policy, commandCreator) { }