public void ChunkIfNeeded_LargeMessage_Chunked() { var message = new BinaryMessage { MessageId = Guid.NewGuid(), Content = GetByteArray(1400) }; var headers = new MessageHeaderCollection { { MessageHeader.MessageIdKey, "1234" } }; var serializedMessage = _serializer.Serialize(message, headers); var rawBrokerMessage = new RawBrokerMessage(message, headers, new TestProducerEndpoint("test") { Chunk = new ChunkSettings { Size = 500 } }) { RawContent = serializedMessage }; var chunks = ChunkProducer.ChunkIfNeeded(rawBrokerMessage); chunks.Should().HaveCount(4); chunks.Should().Match(c => c.All(m => m.RawContent.Length < 1000)); }
public void ChunkIfNeeded_SmallMessage_ReturnedWithoutChanges() { var message = new BinaryMessage { MessageId = Guid.NewGuid(), Content = GetByteArray(100) }; var headers = new MessageHeaderCollection(); var serializedMessage = _serializer.Serialize(message, headers); var rawBrokerMessage = new RawBrokerMessage(message, headers, new TestProducerEndpoint("test") { Chunk = new ChunkSettings { Size = 500 } }) { RawContent = serializedMessage }; var chunks = ChunkProducer.ChunkIfNeeded(rawBrokerMessage); chunks.Should().HaveCount(1); chunks.First().Should().BeEquivalentTo(rawBrokerMessage); }
private IEnumerable <RawBrokerMessage> GetRawMessages(object content, IEnumerable <MessageHeader> headers) { var headersCollection = new MessageHeaderCollection(headers); _messageKeyProvider.EnsureKeyIsInitialized(content, headersCollection); var rawMessage = new RawBrokerMessage(content, headersCollection, Endpoint); return(ChunkProducer.ChunkIfNeeded(rawMessage)); }
private IEnumerable <(object message, byte[] serializedMessage)> GetMessageContentChunks(object message) { _messageKeyProvider.EnsureKeyIsInitialized(message); return(ChunkProducer.ChunkIfNeeded( _messageKeyProvider.GetKey(message, false), message, (Endpoint as IProducerEndpoint)?.Chunk, Endpoint.Serializer)); }
public void ChunkIfNeeded_SmallMessage_ReturnedWithoutChanges() { var message = new BinaryMessage { MessageId = Guid.NewGuid(), Content = GetByteArray(100) }; var serializedMessage = _serializer.Serialize(message); var chunks = ChunkProducer.ChunkIfNeeded(message.MessageId.ToString(), message, new ChunkSettings { Size = 500 }, _serializer); chunks.Should().HaveCount(1); chunks.First().Should().BeEquivalentTo((message, serializedMessage)); }
public void ChunkIfNeeded_LargeMessage_Chunked() { var message = new BinaryMessage { MessageId = Guid.NewGuid(), Content = GetByteArray(1400) }; var serializedMessage = _serializer.Serialize(message); var chunks = ChunkProducer.ChunkIfNeeded(message.MessageId.ToString(), message, new ChunkSettings { Size = 500 }, _serializer); chunks.Should().HaveCount(5); chunks.Should().Match(c => c.All(t => t.Item1 is MessageChunk)); chunks.Should().Match(c => c.All(t => t.Item2.Length < 1000)); }