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); } }
// / 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); }
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); }
public BatchMessageAckerTest() { acker = BatchMessageAcker.NewAcker(10); }