Beispiel #1
0
        public void DeserializationTest()
        {
            // initialize BitSet with null
            var ackerDisabled = new BatchMessageAcker(null, 0);
            var batchMsgId    = new BatchMessageId(0, 0, 0, 0, 0, ackerDisabled);

            try
            {
                var d = JsonSerializer.Serialize(batchMsgId, new JsonSerializerOptions {
                    IgnoreNullValues = false
                });
                //Assert.fail("Shouldn't be deserialized");
            }
            catch (Exception e)
            {
                // expected
                Assert.False(false);
            }

            // use the default BatchMessageAckerDisabled
            var batchMsgIdToDeserialize = new BatchMessageId(0, 0, 0, 0);

            try
            {
                var d = JsonSerializer.Serialize(batchMsgIdToDeserialize, new JsonSerializerOptions {
                    IgnoreNullValues = false
                });
            }
            catch (Exception ex)
            {
                Assert.False(false);
            }
        }
Beispiel #2
0
        // / Serialization

        public static IMessageId FromByteArray(byte[] data)
        {
            if (data == null)
            {
                throw new ArgumentException();
            }
            var inputStream = new CodedInputStream(data);
            var builder     = new MessageIdData();

            MessageIdData idData = builder;

            try
            {
                //idData.MergeFrom(inputStream);
            }
            catch (System.Exception e)
            {
                throw e;
            }

            MessageId messageId;

            if (idData.BatchIndex >= 0)
            {
                if (idData.BatchSize > 0)
                {
                    messageId = new BatchMessageId((long)idData.ledgerId, (long)idData.entryId, idData.Partition, idData.BatchIndex, idData.BatchSize, BatchMessageAcker.NewAcker(idData.BatchSize));
                }
                else
                {
                    messageId = new BatchMessageId((long)idData.ledgerId, (long)idData.entryId, idData.Partition, idData.BatchIndex);
                }
            }
            else
            {
                messageId = new MessageId((long)idData.ledgerId, (long)idData.entryId, idData.Partition);
            }

            return(messageId);
        }
Beispiel #3
0
        public static IMessageId FromByteArrayWithTopic(byte[] data, TopicName topicName)
        {
            if (data == null)
            {
                throw new ArgumentException();
            }
            var builder = new MessageIdData();

            MessageIdData idData = builder;

            IMessageId messageId;

            if (idData.BatchIndex >= 0)
            {
                messageId = new BatchMessageId((long)idData.ledgerId, (long)idData.entryId, idData.Partition, idData.BatchIndex, idData.BatchSize, BatchMessageAcker.NewAcker(idData.BatchSize));
            }
            else
            {
                messageId = new MessageId((long)idData.ledgerId, (long)idData.entryId, idData.Partition);
            }
            if (idData.Partition > -1 && topicName != null)
            {
                var t = new TopicName();
                messageId = new TopicMessageId(t.GetPartition(idData.Partition).ToString(), topicName.ToString(), messageId);
            }

            return(messageId);
        }
Beispiel #4
0
 public BatchMessageAckerTest()
 {
     acker = BatchMessageAcker.NewAcker(10);
 }