public IBatchContainer GetBatchContainer(ref CachedEventHubMessage cachedMessage) { int readOffset = 0; string streamNamespace = SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset); string offset = SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset); ArraySegment <byte> payload = SegmentBuilder.ReadNextBytes(cachedMessage.Segment, ref readOffset); return(new EventHubBatchContainer(cachedMessage.StreamGuid, streamNamespace, offset, cachedMessage.SequenceNumber, payload.ToArray())); }
/// <summary> /// Duplicate of EventHub's EventData class. /// </summary> /// <param name="cachedMessage"></param> public EventHubMessage(CachedEventHubMessage cachedMessage) { int readOffset = 0; StreamIdentity = new StreamIdentity(cachedMessage.StreamGuid, SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset)); Offset = SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset); PartitionKey = SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset); SequenceNumber = cachedMessage.SequenceNumber; EnqueueTimeUtc = cachedMessage.EnqueueTimeUtc; DequeueTimeUtc = cachedMessage.DequeueTimeUtc; Properties = SegmentBuilder.ReadNextBytes(cachedMessage.Segment, ref readOffset).DeserializeProperties(); Payload = SegmentBuilder.ReadNextBytes(cachedMessage.Segment, ref readOffset).ToArray(); }
public EventHubMessage(CachedEventHubMessage cachedMessage) { int readOffset = 0; StreamIdentity = new StreamIdentity(cachedMessage.StreamGuid, SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset)); Offset = SegmentBuilder.ReadNextString(cachedMessage.Segment, ref readOffset); SequenceNumber = cachedMessage.SequenceNumber; EnqueueTimeUtc = cachedMessage.EnqueueTimeUtc; DequeueTimeUtc = cachedMessage.DequeueTimeUtc; Properties = SegmentBuilder.ReadNextBytes(cachedMessage.Segment, ref readOffset).DeserializeProperties(); object offsetObj; PartitionKey = Properties.TryGetValue("PartitionKey", out offsetObj) ? offsetObj as string : default(string); Payload = SegmentBuilder.ReadNextBytes(cachedMessage.Segment, ref readOffset).ToArray(); }