Esempio n. 1
0
        /// <summary>
        /// Assembles the StreamMetadataBody object from byte array
        /// </summary>
        /// <param name="reader">BinaryReader to deserialize from</param>
        /// <returns>StreamMetadataBody object</returns>
        public StreamMetadataBody Read(BinaryReader reader)
        {
            var metadataKind          = (StreamMetadataKind)reader.ReadInt32();
            StreamMetadataBody result = null;

            switch (metadataKind)
            {
            case StreamMetadataKind.ReceiveSequenceNumber:
            case StreamMetadataKind.SendSequenceNumber:
            case StreamMetadataKind.DeleteSequenceNumber:
                result = StreamSequenceNumber.FromByteArray(reader);
                break;

            case StreamMetadataKind.OutboundStableParameters:
                result = OutboundStreamStableParameters.FromByteArray(reader);
                break;

            case StreamMetadataKind.InboundStableParameters:
                result = InboundStreamStableParameters.FromByteArray(reader);
                break;

            default:
                Diagnostics.Assert(false, "Unknown Stream MetadataKind in StreamMetadataBody.FromByteArray()");
                break;
            }

            return(result);
        }
Esempio n. 2
0
 /// <summary>
 /// Copy constructor used for updates to avoid in memory update that would change "committed" state in the store before commit
 /// especially when the object is acquired through Get
 /// </summary>
 /// <param name="stableParameters"></param>
 internal InboundStreamStableParameters(InboundStreamStableParameters stableParameters)
 {
     this.InitializeBaseParameters(
         StreamMetadataKind.InboundStableParameters,
         stableParameters.StreamName,
         stableParameters.PartnerId,
         stableParameters.CurrentState,
         stableParameters.CloseMessageSequenceNumber);
 }
Esempio n. 3
0
        /// <summary>
        /// Assembles the OutboundStreamStableParameters object from byte array
        /// </summary>
        /// <param name="reader">BinaryReader to deserialize from</param>
        /// <returns>OutboundStreamStableParameters object</returns>
        public static InboundStreamStableParameters FromByteArray(BinaryReader reader)
        {
            var result = new InboundStreamStableParameters();

            result.ReadBaseParameters(reader);
            Diagnostics.Assert(
                result.MetadataKind == StreamMetadataKind.InboundStableParameters,
                "Unexpected StreamMetadataType when decoding InboundStreamStableParameters.FromByteArray");

            return(result);
        }
Esempio n. 4
0
 /// <summary>
 /// Converts the InboundStreamStableParameters to byte array
 /// </summary>
 /// <returns>Byte array</returns>
 public void ToByteArray(InboundStreamStableParameters value, BinaryWriter writer)
 {
     try
     {
         value.WriteBaseParameters(writer);
     }
     catch (Exception e)
     {
         Tracing.WriteExceptionAsError("InboundStreamStableParameters.ToByteArray", e, "Content: {0}", this);
     }
 }