public IDetailsListenerBuilder <TRequest, TResponse> OnThread(int threadId) { ValidateDoesNotAlreadyHaveDispatchType(); _dispatchType = DispatchThreadType.SpecificThread; _threadId = threadId; return(this); }
public IDetailsSubscriptionBuilder <TPayload> OnDedicatedWorker() { ValidateDoesNotHaveDispatchType(); _dispatchType = DispatchThreadType.SpecificThread; _useDedicatedThread = true; return(this); }
public IDetailsListenerBuilder <TRequest, TResponse> OnDedicatedWorker() { ValidateDoesNotAlreadyHaveDispatchType(); _dispatchType = DispatchThreadType.ThreadpoolThread; _useDedicatedThread = true; return(this); }
public IDetailsParticipantBuilder <TRequest, TResponse> OnDedicatedWorker() { ValidateDoesNotReadyHaveDispatchType(); _dispatchType = DispatchThreadType.SpecificThread; _useDedicatedThread = true; return(this); }
public IDetailsParticipantBuilder <TRequest, TResponse> OnThread(int threadId) { Assert.IsInRange(threadId, nameof(threadId), 1, 65535); ValidateDoesNotReadyHaveDispatchType(); _dispatchType = DispatchThreadType.SpecificThread; _threadId = threadId; return(this); }
public ParticipantBuilder(IScatterGatherBus messageBus, IWorkerPool workerPool) { Assert.ArgumentNotNull(messageBus, nameof(messageBus)); Assert.ArgumentNotNull(workerPool, nameof(workerPool)); _workerPool = workerPool; _dispatchType = DispatchThreadType.NoPreference; }
public IDetailsSubscriptionBuilder <TPayload> OnThread(int threadId) { Assert.IsInRange(threadId, nameof(threadId), 0, 65355); ValidateDoesNotHaveDispatchType(); _dispatchType = DispatchThreadType.SpecificThread; _threadId = threadId; return(this); }
public SubscriptionBuilder(IPubSubBus messageBus, IWorkerPool workerPool) { Assert.ArgumentNotNull(messageBus, nameof(messageBus)); Assert.ArgumentNotNull(workerPool, nameof(workerPool)); _dispatchType = DispatchThreadType.NoPreference; _workerPool = workerPool; MessageBus = messageBus; Topics = null; }
public IDetailsParticipantBuilder <TRequest, TResponse> OnThreadPool() { ValidateDoesNotReadyHaveDispatchType(); _dispatchType = DispatchThreadType.ThreadpoolThread; return(this); }
private ISubscription <TPayload> CreateBaseSubscription(ISubscriberReference <TPayload> actionReference, DispatchThreadType dispatchType, int threadId) { switch (dispatchType) { case DispatchThreadType.NoPreference: return(new AnyThreadPubSubSubscription <TPayload>(actionReference, _workerPool)); case DispatchThreadType.AnyWorkerThread: return(new AnyThreadPubSubSubscription <TPayload>(actionReference, _workerPool)); case DispatchThreadType.SpecificThread: return(new SpecificThreadPubSubSubscription <TPayload>(actionReference, threadId, _workerPool)); case DispatchThreadType.ThreadpoolThread: return(new ThreadPoolThreadSubscription <TPayload>(_workerPool, actionReference)); case DispatchThreadType.Immediate: return(new ImmediatePubSubSubscription <TPayload>(actionReference)); default: return(new AnyThreadPubSubSubscription <TPayload>(actionReference, _workerPool)); } }
public IDetailsSubscriptionBuilder <TPayload> Immediate() { ValidateDoesNotHaveDispatchType(); _dispatchType = DispatchThreadType.Immediate; return(this); }
public IDetailsSubscriptionBuilder <TPayload> OnWorker() { ValidateDoesNotHaveDispatchType(); _dispatchType = DispatchThreadType.AnyWorkerThread; return(this); }
private IListener <TRequest, TResponse> CreateListener(IListenerReference <TRequest, TResponse> reference, DispatchThreadType dispatchType, int threadId) { switch (dispatchType) { case DispatchThreadType.NoPreference: return(new AnyThreadListener <TRequest, TResponse>(reference, _workerPool)); case DispatchThreadType.AnyWorkerThread: return(new AnyThreadListener <TRequest, TResponse>(reference, _workerPool)); case DispatchThreadType.SpecificThread: return(new SpecificThreadListener <TRequest, TResponse>(reference, threadId, _workerPool)); case DispatchThreadType.Immediate: return(new ImmediateListener <TRequest, TResponse>(reference)); case DispatchThreadType.ThreadpoolThread: return(new ThreadPoolListener <TRequest, TResponse>(reference, _workerPool)); default: return(new ImmediateListener <TRequest, TResponse>(reference)); } }
public IDetailsListenerBuilder <TRequest, TResponse> OnThreadPool() { ValidateDoesNotAlreadyHaveDispatchType(); _dispatchType = DispatchThreadType.ThreadpoolThread; return(this); }
public IDetailsListenerBuilder <TRequest, TResponse> OnWorker() { ValidateDoesNotAlreadyHaveDispatchType(); _dispatchType = DispatchThreadType.AnyWorkerThread; return(this); }
private IParticipant <TRequest, TResponse> CreateParticipant(IParticipantReference <TRequest, TResponse> reference, DispatchThreadType dispatchType, int threadId, string name) { switch (dispatchType) { case DispatchThreadType.NoPreference: return(new AnyThreadParticipant <TRequest, TResponse>(reference, _workerPool, name)); case DispatchThreadType.AnyWorkerThread: return(new AnyThreadParticipant <TRequest, TResponse>(reference, _workerPool, name)); case DispatchThreadType.SpecificThread: return(new SpecificThreadParticipant <TRequest, TResponse>(reference, threadId, _workerPool, name)); case DispatchThreadType.ThreadpoolThread: return(new ThreadPoolParticipant <TRequest, TResponse>(_workerPool, reference, name)); case DispatchThreadType.Immediate: return(new ImmediateParticipant <TRequest, TResponse>(reference, name)); default: return(new ImmediateParticipant <TRequest, TResponse>(reference, name)); } }
public IDetailsSubscriptionBuilder <TPayload> OnThreadPool() { ValidateDoesNotHaveDispatchType(); _dispatchType = DispatchThreadType.ThreadpoolThread; return(this); }
public IDetailsParticipantBuilder <TRequest, TResponse> Immediate() { ValidateDoesNotReadyHaveDispatchType(); _dispatchType = DispatchThreadType.Immediate; return(this); }
public IDetailsListenerBuilder <TRequest, TResponse> Immediate() { ValidateDoesNotAlreadyHaveDispatchType(); _dispatchType = DispatchThreadType.Immediate; return(this); }