public Task Unsubscribe(string name) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, SendTimeout) { DoTask = activeProvider => activeProvider.Unsubscribe(name), Name = nameof(Unsubscribe) }; request.Run(); return(request.Task); }
public Task StopResource(INmsResource resourceInfo) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => activeProvider.StopResource(resourceInfo), Name = nameof(StopResource) }; request.Run(); return(request.Task); }
public Task Send(OutboundMessageDispatch envelope) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, SendTimeout) { DoTask = activeProvider => activeProvider.Send(envelope), Name = nameof(Send) }; request.Run(); return(request.Task); }
public Task CreateResource(ResourceInfo resourceInfo) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => provider.CreateResource(resourceInfo), Name = nameof(CreateResource) }; request.Run(); return(request.Task); }
public Task Commit(NmsTransactionInfo transactionInfo, NmsTransactionInfo nextTransactionInfo) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, SendTimeout) { DoTask = activeProvider => activeProvider.Commit(transactionInfo, nextTransactionInfo), Name = nameof(Commit), FailureWhenOffline = true }; request.Run(); return(request.Task); }
public Task Rollback(NmsTransactionInfo transactionInfo, NmsTransactionInfo nextTransactionInfo) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, SendTimeout) { DoTask = activeProvider => activeProvider.Rollback(transactionInfo, nextTransactionInfo), Name = nameof(Rollback), SucceedsWhenOffline = true }; request.Run(); return(request.Task); }
public Task Acknowledge(InboundMessageDispatch envelope, AckType ackType) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => activeProvider.Acknowledge(envelope, ackType), FailureWhenOffline = true, Name = nameof(Acknowledge) }; request.Run(); return(request.Task); }
public Task Acknowledge(NmsSessionId sessionId, AckType ackType) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => activeProvider.Acknowledge(sessionId, ackType), FailureWhenOffline = true, Name = nameof(Acknowledge) }; request.Run(); return(request.Task); }
public Task Recover(NmsSessionId sessionId) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => activeProvider.Recover(sessionId), SucceedsWhenOffline = true, Name = nameof(Recover) }; request.Run(); return(request.Task); }
public Task DestroyResource(INmsResource resourceInfo) { CheckClosed(); FailoverRequest request = new FailoverRequest(this, requestTimeout) { DoTask = activeProvider => activeProvider.DestroyResource(resourceInfo), Name = nameof(DestroyResource), // Allow this to succeed, resource won't get recreated on reconnect. SucceedsWhenOffline = true }; request.Run(); return(request.Task); }