|  |  | 1 |  | // Copyright (c) Microsoft Corporation. All rights reserved. | 
|  |  | 2 |  | // Licensed under the MIT License. | 
|  |  | 3 |  |  | 
|  |  | 4 |  | using Azure.Core; | 
|  |  | 5 |  |  | 
|  |  | 6 |  | namespace Azure.Messaging.EventHubs.Consumer | 
|  |  | 7 |  | { | 
|  |  | 8 |  |     /// <summary> | 
|  |  | 9 |  |     ///   Contains information about a partition that has attempted to receive an event from the Azure Event Hub | 
|  |  | 10 |  |     ///   service, as well as the received event, if any. | 
|  |  | 11 |  |     /// </summary> | 
|  |  | 12 |  |     /// | 
|  |  | 13 |  |     public struct PartitionEvent | 
|  |  | 14 |  |     { | 
|  |  | 15 |  |         /// <summary> | 
|  |  | 16 |  |         ///   The Event Hub partition that the <see cref="PartitionEvent.Data" /> is associated with. | 
|  |  | 17 |  |         /// </summary> | 
|  |  | 18 |  |         /// | 
|  | 5800 | 19 |  |         public PartitionContext Partition { get; } | 
|  |  | 20 |  |  | 
|  |  | 21 |  |         /// <summary> | 
|  |  | 22 |  |         ///   An event that was read from the associated <see cref="PartitionEvent.Partition" />. | 
|  |  | 23 |  |         /// </summary> | 
|  |  | 24 |  |         /// | 
|  |  | 25 |  |         /// <value> | 
|  |  | 26 |  |         ///   The <see cref="EventData" /> read from the Event Hub partition, if data was available. | 
|  |  | 27 |  |         ///   If a maximum wait time was specified when reading events and no event was available in that | 
|  |  | 28 |  |         ///   time period, <c>null</c>. | 
|  |  | 29 |  |         /// </value> | 
|  |  | 30 |  |         /// | 
|  |  | 31 |  |         /// <remarks> | 
|  |  | 32 |  |         ///   Ownership of this data, including the memory that holds its <see cref="EventData.Body" />, | 
|  |  | 33 |  |         ///   is assumed to transfer to consumers of the <see cref="PartitionEvent" />.  It may be considered | 
|  |  | 34 |  |         ///   immutable and is safe to access so long as the reference is held. | 
|  |  | 35 |  |         /// </remarks> | 
|  |  | 36 |  |         /// | 
|  | 7602 | 37 |  |         public EventData Data { get; } | 
|  |  | 38 |  |  | 
|  |  | 39 |  |         /// <summary> | 
|  |  | 40 |  |         ///   Initializes a new instance of the <see cref="PartitionEvent"/> structure. | 
|  |  | 41 |  |         /// </summary> | 
|  |  | 42 |  |         /// | 
|  |  | 43 |  |         /// <param name="partition">The Event Hub partition that the <paramref name="data" /> is associated with.</param | 
|  |  | 44 |  |         /// <param name="data">The event that was read, if events were available; otherwise, <c>null</c>.</param> | 
|  |  | 45 |  |         /// | 
|  |  | 46 |  |         public PartitionEvent(PartitionContext partition, | 
|  |  | 47 |  |                               EventData data) | 
|  |  | 48 |  |         { | 
|  | 9450 | 49 |  |             Argument.AssertNotNull(partition, nameof(partition)); | 
|  |  | 50 |  |  | 
|  | 9450 | 51 |  |             Partition = partition; | 
|  | 9450 | 52 |  |             Data = data; | 
|  | 9450 | 53 |  |         } | 
|  |  | 54 |  |     } | 
|  |  | 55 |  | } |