Skip to content

Commit 95a495f

Browse files
committed
nats-io#636 - JetStream Batch Get Client support
* Added eod parse in headers
1 parent 075f749 commit 95a495f

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

src/NATS.Client.Core/NatsHeaderParser.cs

+5
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ private bool TryParseHeaderLine(ReadOnlySpan<byte> headerLine, NatsHeaders heade
119119
headers.Message = NatsHeaders.Messages.MessageSizeExceedsMaxBytes;
120120
headers.MessageText = NatsHeaders.MessageMessageSizeExceedsMaxBytesStr;
121121
}
122+
else if (headerLine.SequenceEqual(NatsHeaders.MessageEobCode))
123+
{
124+
headers.Message = NatsHeaders.Messages.EobCode;
125+
headers.MessageText = NatsHeaders.MessageEobCodeStr;
126+
}
122127
else
123128
{
124129
headers.Message = NatsHeaders.Messages.Text;

src/NATS.Client.Core/NatsHeaders.cs

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public enum Messages
2525
NoMessages,
2626
RequestTimeout,
2727
MessageSizeExceedsMaxBytes,
28+
EobCode,
2829
}
2930

3031
// Uses C# compiler's optimization for static byte[] data
@@ -56,6 +57,10 @@ public enum Messages
5657
internal static ReadOnlySpan<byte> MessageMessageSizeExceedsMaxBytes => new byte[] { 77, 101, 115, 115, 97, 103, 101, 32, 83, 105, 122, 101, 32, 69, 120, 99, 101, 101, 100, 115, 32, 77, 97, 120, 66, 121, 116, 101, 115 };
5758
internal static readonly string MessageMessageSizeExceedsMaxBytesStr = "Message Size Exceeds MaxBytes";
5859

60+
// EOB
61+
internal static ReadOnlySpan<byte> MessageEobCode => new byte[] { 69, 79, 66 };
62+
internal static readonly string MessageEobCodeStr = "EOB";
63+
5964
private static readonly string[] EmptyKeys = Array.Empty<string>();
6065
private static readonly StringValues[] EmptyValues = Array.Empty<StringValues>();
6166

tests/NATS.Client.CoreUnit.Tests/NatsHeaderTest.cs

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ public void ParserTests()
9696
[InlineData("Request Timeout", NatsHeaders.Messages.RequestTimeout)]
9797
[InlineData("Message Size Exceeds MaxBytes", NatsHeaders.Messages.MessageSizeExceedsMaxBytes)]
9898
[InlineData("test message", NatsHeaders.Messages.Text)]
99+
[InlineData("EOB", NatsHeaders.Messages.EobCode)]
99100
public void ParserMessageEnumTests(string message, NatsHeaders.Messages result)
100101
{
101102
var parser = new NatsHeaderParser(Encoding.UTF8);

0 commit comments

Comments
 (0)