Example #1
0
        internal CompressionCodec     Compression;      // Only used in test for serializing
        #region Deserialization

        public void Deserialize(ReusableMemoryStream stream, object extra, Basics.ApiVersion version)
        {
            Partition           = BigEndianConverter.ReadInt32(stream);
            ErrorCode           = (ErrorCode)BigEndianConverter.ReadInt16(stream);
            HighWatermarkOffset = BigEndianConverter.ReadInt64(stream);
            if (version >= Basics.ApiVersion.V4)
            {
                LastStableOffset    = BigEndianConverter.ReadInt64(stream);
                AbortedTransactions = Basics.DeserializeArray <AbortedTransaction>(stream);
            }
            if (version >= Basics.ApiVersion.V5)
            {
                LogStartOffset = BigEndianConverter.ReadInt64(stream);
            }
            try
            {
                Messages = version >= Basics.ApiVersion.V3
                    ? DeserializeRecordBatch(stream, extra as Deserializers)
                    : DeserializeMessageSet(stream, extra as Deserializers);
            }
            catch (ProtocolException pEx)
            {
                pEx.Partition = Partition;
                throw;
            }
        }
Example #2
0
 public void Deserialize(ReusableMemoryStream stream, object _, Basics.ApiVersion __)
 {
     ErrorCode = (ErrorCode)BigEndianConverter.ReadInt16(stream);
     Id        = BigEndianConverter.ReadInt32(stream);
     Leader    = BigEndianConverter.ReadInt32(stream);
     Replicas  = Basics.DeserializeArray(stream, BigEndianConverter.ReadInt32);
     Isr       = Basics.DeserializeArray(stream, BigEndianConverter.ReadInt32);
 }
Example #3
0
 public static MetadataResponse Deserialize(ReusableMemoryStream stream, object noextra)
 {
     return(new MetadataResponse
     {
         BrokersMeta = Basics.DeserializeArray <BrokerMeta>(stream),
         TopicsMeta = Basics.DeserializeArray <TopicMeta>(stream)
     });
 }
Example #4
0
 public void Deserialize(ReusableMemoryStream stream, object _, Basics.ApiVersion __)
 {
     ErrorCode     = (ErrorCode)BigEndianConverter.ReadInt16(stream);
     GenerationId  = BigEndianConverter.ReadInt32(stream);
     GroupProtocol = Basics.DeserializeString(stream);
     LeaderId      = Basics.DeserializeString(stream);
     MemberId      = Basics.DeserializeString(stream);
     GroupMembers  = Basics.DeserializeArray <GroupMember>(stream);
 }
 public void Deserialize(ReusableMemoryStream stream, object noextra, Basics.ApiVersion version)
 {
     Partition = BigEndianConverter.ReadInt32(stream);
     ErrorCode = (ErrorCode)BigEndianConverter.ReadInt16(stream);
     Timestamp = -1;
     if (version > Basics.ApiVersion.V0)
     {
         Timestamp  = BigEndianConverter.ReadInt64(stream);
         Offsets    = new long[1];
         Offsets[0] = BigEndianConverter.ReadInt64(stream);
     }
     else
     {
         Offsets = Basics.DeserializeArray(stream, BigEndianConverter.ReadInt64);
     }
 }
Example #6
0
 public void Deserialize(ReusableMemoryStream stream, object _, Basics.ApiVersion __)
 {
     ErrorCode  = (ErrorCode)BigEndianConverter.ReadInt16(stream);
     TopicName  = Basics.DeserializeString(stream);
     Partitions = Basics.DeserializeArray <PartitionMeta>(stream);
 }
Example #7
0
 public void Deserialize(ReusableMemoryStream stream, object noextra = null)
 {
     Partition = BigEndianConverter.ReadInt32(stream);
     ErrorCode = (ErrorCode)BigEndianConverter.ReadInt16(stream);
     Offsets   = Basics.DeserializeArray(stream, BigEndianConverter.ReadInt64);
 }
Example #8
0
 public void Deserialize(ReusableMemoryStream stream, object _, Basics.ApiVersion __)
 {
     Version      = BigEndianConverter.ReadInt16(stream);
     Subscription = Basics.DeserializeArray(stream, Basics.DeserializeString);
     UserData     = Basics.DeserializeBytes(stream);
 }
Example #9
0
 public void Deserialize(ReusableMemoryStream stream, object _, Basics.ApiVersion __)
 {
     Version = BigEndianConverter.ReadInt16(stream);
     PartitionAssignments = Basics.DeserializeArray <TopicData <PartitionAssignment> >(stream);
     UserData             = Basics.DeserializeBytes(stream);
 }