private PersistentResponse GetResponse(MessageResult result) { // Do a single sweep through the results to process commands and extract values ProcessResults(result); Debug.Assert(GetCursor != null, "Unable to resolve the cursor since the method is null"); // Resolve the cursor string id = GetCursor(); var response = new PersistentResponse(ExcludeMessage) { MessageId = id, Messages = result.Messages, Disconnect = _disconnected, Aborted = _aborted, TotalCount = result.TotalCount, }; PopulateResponseState(response); _counters.ConnectionMessagesReceivedTotal.IncrementBy(result.TotalCount); _counters.ConnectionMessagesReceivedPerSec.IncrementBy(result.TotalCount); return(response); }
public IDisposable Receive(string messageId, Func <PersistentResponse, Task <bool> > callback, int maxMessages) { return(_bus.Subscribe(this, messageId, result => { PersistentResponse response = GetResponse(result); return callback(response); }, maxMessages)); }
private void PopulateResponseState(PersistentResponse response) { // Set the groups on the outgoing transport data if (_groups.Count > 0) { if (response.TransportData == null) { response.TransportData = new Dictionary <string, object>(); } response.TransportData["Groups"] = _groups.GetSnapshot(); } }
private void PopulateResponseState(PersistentResponse response) { var groupDiff = _groups.GetDiff(); response.ResetGroups = groupDiff.Reset; if (groupDiff.Added.Count > 0) { response.AddedGroups = groupDiff.Added; } if (groupDiff.Removed.Count > 0) { response.RemovedGroups = groupDiff.Removed; } }
private PersistentResponse GetResponse(MessageResult result) { // Do a single sweep through the results to process commands and extract values ProcessResults(result); var response = new PersistentResponse(ExcludeMessage) { MessageId = result.LastMessageId, Messages = result.Messages, Disconnect = _disconnected, Aborted = _aborted, TotalCount = result.TotalCount, }; PopulateResponseState(response); _counters.ConnectionMessagesReceivedTotal.IncrementBy(result.TotalCount); _counters.ConnectionMessagesReceivedPerSec.IncrementBy(result.TotalCount); return(response); }
private void PopulateResponseState(PersistentResponse response) { // Set the groups on the outgoing transport data if (_groups.Count > 0) { if (response.TransportData == null) { response.TransportData = new Dictionary<string, object>(); } response.TransportData["Groups"] = _groups.GetSnapshot(); } }
private PersistentResponse GetResponse(MessageResult result) { // Do a single sweep through the results to process commands and extract values ProcessResults(result); var response = new PersistentResponse(ExcludeMessage) { MessageId = result.LastMessageId, Messages = result.Messages, Disconnect = _disconnected, Aborted = _aborted, TotalCount = result.TotalCount, }; PopulateResponseState(response); _counters.ConnectionMessagesReceivedTotal.IncrementBy(result.TotalCount); _counters.ConnectionMessagesReceivedPerSec.IncrementBy(result.TotalCount); return response; }
private PersistentResponse GetResponse(MessageResult result) { // Do a single sweep through the results to process commands and extract values ProcessResults(result); Debug.Assert(GetCursor != null, "Unable to resolve the cursor since the method is null"); // Resolve the cursor string id = GetCursor(); var response = new PersistentResponse(ExcludeMessage) { MessageId = id, Messages = result.Messages, Disconnect = _disconnected, Aborted = _aborted, TotalCount = result.TotalCount, }; PopulateResponseState(response); _counters.ConnectionMessagesReceivedTotal.IncrementBy(result.TotalCount); _counters.ConnectionMessagesReceivedPerSec.IncrementBy(result.TotalCount); return response; }