public Guid QueueWriteEvents( Guid key, string streamId, long expectedVersion, Event[] events, ClaimsPrincipal principal, Action <ClientMessage.WriteEventsCompleted> action) { var corrId = Guid.NewGuid(); AddPendingRequest(corrId); var message = new ClientMessage.WriteEvents( corrId, corrId, Writer.Envelope, false, streamId, expectedVersion, events, principal); _pendingWrites.CaptureCallback(corrId, action); _writerQueueSet.AddToQueue(key, message); WorkQueue(key); return(corrId); }
public void QueuePendingWrite( Guid key, Guid corrId, Action <ClientMessage.WriteEventsCompleted> action, ClientMessage.WriteEvents message, RequestResponseDispatcher <ClientMessage.WriteEvents, ClientMessage.WriteEventsCompleted> writer) { lock (_lockObject) { AddPendingRequest(corrId); _pendingWrites.CaptureCallback(corrId, action); _writerQueueSet.AddToQueue(key, message); WorkQueue(key, writer); } }