Skip to content

Commit d8cf59a

Browse files
committed
Updated EventStreams Byte to SByte to be inline with the spec where Byte was intended to be signed.
1 parent 7c371e0 commit d8cf59a

File tree

3 files changed

+33
-26
lines changed

3 files changed

+33
-26
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"core": {
3+
"changeLogMessages": [
4+
"[Breaking Change] Updated EventStreams Byte to SByte to be inline with the spec where Byte was intended to be signed."
5+
],
6+
"type": "patch",
7+
"updateMinimum": true
8+
}
9+
}

sdk/src/Core/Amazon.Runtime/EventStreams/EventStreamHeader.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public enum EventStreamHeaderType : byte
3636
{
3737
BoolTrue = 0,
3838
BoolFalse,
39-
Byte,
39+
SByte,
4040
Int16,
4141
Int32,
4242
Int64,
@@ -88,14 +88,14 @@ public interface IEventStreamHeader
8888
void SetBool(bool value);
8989

9090
/// <summary>
91-
/// Returns the current value as a byte
91+
/// Returns the current value as a signed byte
9292
/// </summary>
93-
Byte AsByte();
93+
sbyte AsSByte();
9494

9595
/// <summary>
9696
/// Sets the current value
9797
/// </summary>
98-
void SetByte(Byte value);
98+
void SetSByte(sbyte value);
9999

100100
/// <summary>
101101
/// Gets the current value as a 16 bit integer. (Host Order).
@@ -236,8 +236,8 @@ public static EventStreamHeader FromBuffer(byte[] buffer, int offset, ref int ne
236236
case EventStreamHeaderType.BoolFalse:
237237
header.HeaderValue = false;
238238
break;
239-
case EventStreamHeaderType.Byte:
240-
header.HeaderValue = buffer[newOffset];
239+
case EventStreamHeaderType.SByte:
240+
header.HeaderValue = (sbyte)buffer[newOffset];
241241
newOffset += _sizeOfByte;
242242
break;
243243
case EventStreamHeaderType.Int16:
@@ -313,8 +313,8 @@ public int WriteToBuffer(byte[] buffer, int offset)
313313
case EventStreamHeaderType.BoolTrue:
314314
case EventStreamHeaderType.BoolFalse:
315315
break;
316-
case EventStreamHeaderType.Byte:
317-
buffer[newOffset++] = (byte)HeaderValue;
316+
case EventStreamHeaderType.SByte:
317+
buffer[newOffset++] = (byte)(sbyte)HeaderValue;
318318
break;
319319
case EventStreamHeaderType.Int16:
320320
serializedBytes = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((Int16)HeaderValue));
@@ -382,7 +382,7 @@ public int GetWireSize()
382382
case EventStreamHeaderType.BoolTrue:
383383
case EventStreamHeaderType.BoolFalse:
384384
break;
385-
case EventStreamHeaderType.Byte:
385+
case EventStreamHeaderType.SByte:
386386
len += _sizeOfByte;
387387
break;
388388
case EventStreamHeaderType.Int16:
@@ -434,20 +434,20 @@ public void SetBool(bool value)
434434
}
435435

436436
/// <summary>
437-
/// Returns the current value as a byte
437+
/// Returns the current value as a signed byte
438438
/// </summary>
439-
public Byte AsByte()
439+
public sbyte AsSByte()
440440
{
441-
return (Byte)HeaderValue;
441+
return (sbyte)HeaderValue;
442442
}
443443

444444
/// <summary>
445445
/// Sets the current value
446446
/// </summary>
447-
public void SetByte(Byte value)
447+
public void SetSByte(sbyte value)
448448
{
449449
HeaderValue = value;
450-
HeaderType = EventStreamHeaderType.Byte;
450+
HeaderType = EventStreamHeaderType.SByte;
451451
}
452452

453453
/// <summary>

sdk/test/UnitTests/Custom/Runtime/EventStreams/EventStreamMessageTest.cs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,9 @@ public void TestPositiveDecode()
147147
var boolVal = header.GetProperty(HeaderValueField).GetBoolean();
148148
Assert.AreEqual(boolVal, headerValue.AsBool());
149149
break;
150-
case EventStreamHeaderType.Byte:
151-
//commenting this out for now because the test case clearly defines a signed byte and this needs to be changed internally
152-
//var byteVal = header.GetProperty(HeaderValueField).GetSByte();
153-
//Assert.AreEqual(byteVal, headerValue.AsSByte());
150+
case EventStreamHeaderType.SByte:
151+
var byteVal = header.GetProperty(HeaderValueField).GetSByte();
152+
Assert.AreEqual(byteVal, headerValue.AsSByte());
154153
break;
155154
case EventStreamHeaderType.Int16:
156155
var int16Val = header.GetProperty(HeaderValueField).GetInt16();
@@ -161,8 +160,8 @@ public void TestPositiveDecode()
161160
Assert.AreEqual(int32Val, headerValue.AsInt32());
162161
break;
163162
case EventStreamHeaderType.Int64:
164-
var intVal = header.GetProperty(HeaderValueField).GetInt64();
165-
Assert.AreEqual(intVal, headerValue.AsInt64());
163+
var int64Val = header.GetProperty(HeaderValueField).GetInt64();
164+
Assert.AreEqual(int64Val, headerValue.AsInt64());
166165
break;
167166
case EventStreamHeaderType.Timestamp:
168167
var dateVal = header.GetProperty(HeaderValueField).GetInt64();
@@ -226,10 +225,9 @@ public void TestPositiveEncode()
226225
var boolVal = header.GetProperty(HeaderValueField).GetBoolean();
227226
headerValue.SetBool(boolVal);
228227
break;
229-
case EventStreamHeaderType.Byte:
230-
// commenting this out for now b/c the test case clearly defines a signed byte and this needs to be changed internally
231-
//var byteVal = (sbyte)(int)header[HeaderValueField];
232-
//headerValue.SetSByte(byteVal);
228+
case EventStreamHeaderType.SByte:
229+
var byteVal = header.GetProperty(HeaderValueField).GetSByte();
230+
headerValue.SetSByte(byteVal);
233231
break;
234232
case EventStreamHeaderType.Int16:
235233
var int16Val = header.GetProperty(HeaderValueField).GetInt16();
@@ -240,8 +238,8 @@ public void TestPositiveEncode()
240238
headerValue.SetInt32(int32Val);
241239
break;
242240
case EventStreamHeaderType.Int64:
243-
var intVal = (long)header.GetProperty(HeaderValueField).GetInt64();
244-
headerValue.SetInt64(intVal);
241+
var int64Val = (long)header.GetProperty(HeaderValueField).GetInt64();
242+
headerValue.SetInt64(int64Val);
245243
break;
246244
case EventStreamHeaderType.Timestamp:
247245
var dateVal = header.GetProperty(HeaderValueField).GetInt64();

0 commit comments

Comments
 (0)