public IBatchContainer GetBatchContainer(ref CachedMessage cachedMessage)
            {
                //Deserialize payload
                var             stream    = new BinaryTokenStreamReader(cachedMessage.Payload);
                MemoryEventData eventData = (MemoryEventData)SerializationManager.Deserialize(stream);

                return(new MemoryBatchContainer(eventData, cachedMessage.SequenceNumber));
            }
示例#2
0
 /// <summary>
 /// Enqueues an event data. If the current total count reaches the max limit. throws an exception.
 /// </summary>
 /// <param name="eventData"></param>
 /// <returns></returns>
 public Task Enqueue(MemoryEventData eventData)
 {
     if (eventQueue.Count >= maxEventCount)
     {
         throw new InvalidOperationException($"Can not enqueue since the count has reached its maximum of {maxEventCount}");
     }
     eventQueue.Enqueue(eventData);
     return(TaskDone.Done);
 }
 /// <summary>
 /// Enqueues an event data. If the current total count reaches the max limit. throws an exception.
 /// </summary>
 /// <param name="eventData"></param>
 /// <returns></returns>
 public Task Enqueue(MemoryEventData eventData)
 {
     if (eventQueue.Count >= maxEventCount)
     {
         throw new InvalidOperationException($"Can not enqueue since the count has reached its maximum of {maxEventCount}");
     }
     eventQueue.Enqueue(eventData);
     return TaskDone.Done;
 }
示例#4
0
 internal static MemoryBatchContainer FromMemoryEventData <T>(MemoryEventData eventData, long sequenceId)
 {
     return(new MemoryBatchContainer(eventData, sequenceId));
 }
示例#5
0
        internal static MemoryEventData ToMemoryEventData <T>(Guid streamGuid, String streamNamespace, IEnumerable <T> events, Dictionary <string, object> requestContext)
        {
            MemoryEventData eventData = new MemoryEventData(streamGuid, streamNamespace, events.Cast <object>().ToList(), requestContext);

            return(eventData);
        }
示例#6
0
 public MemoryBatchContainer(MemoryEventData eventData, long sequenceId)
 {
     this.EventData = eventData;
     this.realToken = new EventSequenceToken(sequenceId);
 }