@@ -39,7 +39,16 @@ class GRPCClientStateMachineTests: GRPCTestCase {
39
39
let buffer = self . allocator. buffer ( string: message)
40
40
41
41
let writer = LengthPrefixedMessageWriter ( compression: . none)
42
- return try writer. write ( buffer: buffer, allocator: self . allocator, compressed: false )
42
+ var ( buffer1, buffer2) = try writer. write (
43
+ buffer: buffer,
44
+ allocator: self . allocator,
45
+ compressed: false
46
+ )
47
+
48
+ if var buffer2 = buffer2 {
49
+ buffer1. writeBuffer ( & buffer2)
50
+ }
51
+ return buffer1
43
52
}
44
53
45
54
/// Writes a message into the given `buffer`.
@@ -148,8 +157,9 @@ extension GRPCClientStateMachineTests {
148
157
ByteBuffer ( string: request) ,
149
158
compressed: false ,
150
159
allocator: self . allocator
151
- ) . assertSuccess { buffer in
152
- var buffer = buffer
160
+ ) . assertSuccess { buffers in
161
+ var buffer = buffers. 0
162
+ XCTAssertNil ( buffers. 1 )
153
163
// Remove the length and compression flag prefix.
154
164
buffer. moveReaderIndex ( forwardBy: 5 )
155
165
let data = buffer. readString ( length: buffer. readableBytes) !
@@ -1149,13 +1159,14 @@ class ReadStateTests: GRPCTestCase {
1149
1159
// Write a message into the buffer:
1150
1160
let message = ByteBuffer ( string: " Hello! " )
1151
1161
let writer = LengthPrefixedMessageWriter ( compression: . none)
1152
- var buffer = try writer. write ( buffer: message, allocator: self . allocator)
1162
+ var buffers = try writer. write ( buffer: message, allocator: self . allocator)
1163
+ XCTAssertNil ( buffers. 1 )
1153
1164
// And some extra junk bytes:
1154
1165
let bytes : [ UInt8 ] = [ 0x00 ]
1155
- buffer . writeBytes ( bytes)
1166
+ buffers . 0 . writeBytes ( bytes)
1156
1167
1157
1168
var state : ReadState = . one( )
1158
- state. readMessages ( & buffer , maxLength: . max) . assertFailure {
1169
+ state. readMessages ( & buffers . 0 , maxLength: . max) . assertFailure {
1159
1170
XCTAssertEqual ( $0, . leftOverBytes)
1160
1171
}
1161
1172
state. assertNotReading ( )
@@ -1165,12 +1176,14 @@ class ReadStateTests: GRPCTestCase {
1165
1176
// Write a message into the buffer twice:
1166
1177
let message = ByteBuffer ( string: " Hello! " )
1167
1178
let writer = LengthPrefixedMessageWriter ( compression: . none)
1168
- var buffer = try writer. write ( buffer: message, allocator: self . allocator)
1169
- var second = try writer. write ( buffer: message, allocator: self . allocator)
1170
- buffer. writeBuffer ( & second)
1179
+ var buffers1 = try writer. write ( buffer: message, allocator: self . allocator)
1180
+ var buffers2 = try writer. write ( buffer: message, allocator: self . allocator)
1181
+ XCTAssertNil ( buffers1. 1 )
1182
+ XCTAssertNil ( buffers2. 1 )
1183
+ buffers1. 0 . writeBuffer ( & buffers2. 0 )
1171
1184
1172
1185
var state : ReadState = . one( )
1173
- state. readMessages ( & buffer , maxLength: . max) . assertFailure {
1186
+ state. readMessages ( & buffers1 . 0 , maxLength: . max) . assertFailure {
1174
1187
XCTAssertEqual ( $0, . cardinalityViolation)
1175
1188
}
1176
1189
state. assertNotReading ( )
@@ -1180,7 +1193,8 @@ class ReadStateTests: GRPCTestCase {
1180
1193
// Write a message into the buffer twice:
1181
1194
let message = ByteBuffer ( string: " Hello! " )
1182
1195
let writer = LengthPrefixedMessageWriter ( compression: . none)
1183
- var buffer = try writer. write ( buffer: message, allocator: self . allocator)
1196
+ var ( buffer, other) = try writer. write ( buffer: message, allocator: self . allocator)
1197
+ XCTAssertNil ( other)
1184
1198
1185
1199
var state : ReadState = . one( )
1186
1200
state. readMessages ( & buffer, maxLength: . max) . assertSuccess {
@@ -1195,7 +1209,8 @@ class ReadStateTests: GRPCTestCase {
1195
1209
// Write a message into the buffer twice:
1196
1210
let message = ByteBuffer ( string: " Hello! " )
1197
1211
let writer = LengthPrefixedMessageWriter ( compression: . none)
1198
- var buffer = try writer. write ( buffer: message, allocator: self . allocator)
1212
+ var ( buffer, other) = try writer. write ( buffer: message, allocator: self . allocator)
1213
+ XCTAssertNil ( other)
1199
1214
1200
1215
var state : ReadState = . many( )
1201
1216
state. readMessages ( & buffer, maxLength: . max) . assertSuccess {
@@ -1211,9 +1226,9 @@ class ReadStateTests: GRPCTestCase {
1211
1226
let message = ByteBuffer ( string: " Hello! " )
1212
1227
let writer = LengthPrefixedMessageWriter ( compression: . none)
1213
1228
1214
- var first = try writer. write ( buffer: message, allocator: self . allocator)
1215
- var second = try writer. write ( buffer: message, allocator: self . allocator)
1216
- var third = try writer. write ( buffer: message, allocator: self . allocator)
1229
+ var ( first, _ ) = try writer. write ( buffer: message, allocator: self . allocator)
1230
+ var ( second, _ ) = try writer. write ( buffer: message, allocator: self . allocator)
1231
+ var ( third, _ ) = try writer. write ( buffer: message, allocator: self . allocator)
1217
1232
1218
1233
first. writeBuffer ( & second)
1219
1234
first. writeBuffer ( & third)
0 commit comments