Skip to content

Commit dcbe9c9

Browse files
committed
Refactor state names
1 parent bed2fd2 commit dcbe9c9

1 file changed

Lines changed: 20 additions & 20 deletions

File tree

Sources/NIOHTTP3/HTTP3ToHTTPCodecs.swift

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,13 @@ extension HTTPResponsePart: HTTPMessagePart {
196196
/// Use this to convert incoming frames into message parts.
197197
package struct HTTPMessageParsingStateMachine<Part: HTTPMessagePart> {
198198
enum State {
199-
case awaitingFinalHead
200-
case processedHeaders
201-
case processedTrailers
202-
case previousError
199+
case awaitingHeaders
200+
case awaitingBodyOrTrailers
201+
case messageComplete
202+
case failed
203203
}
204204

205-
private var state = State.awaitingFinalHead
205+
private var state = State.awaitingHeaders
206206

207207
package init() {}
208208

@@ -213,9 +213,9 @@ package struct HTTPMessageParsingStateMachine<Part: HTTPMessagePart> {
213213

214214
package mutating func processFrame(frame: HTTP3Frame) -> ProcessFrameAction? {
215215
switch self.state {
216-
case .previousError:
216+
case .failed:
217217
return .none
218-
case .awaitingFinalHead:
218+
case .awaitingHeaders:
219219
switch frame {
220220
case .headers(let headers):
221221
do {
@@ -224,29 +224,29 @@ package struct HTTPMessageParsingStateMachine<Part: HTTPMessagePart> {
224224
// Multiple interim (1xx) responses can precede the final response; remain in the same state to
225225
// accept further interim responses or the final response. We can only reach this branch on the
226226
// response parsing side.
227-
self.state = .awaitingFinalHead
227+
self.state = .awaitingHeaders
228228
} else {
229-
self.state = .processedHeaders
229+
self.state = .awaitingBodyOrTrailers
230230
}
231231
return .returnPart(part)
232232
} catch {
233-
self.state = .previousError
233+
self.state = .failed
234234
return .emitError(error)
235235
}
236236
case .data, .cancelPush, .settings, .maxPushID, .pushPromise, .goaway:
237237
// This should not happen because the stream state machine shouldn't allow a bad frame to get here
238238
fatalError("Unexpected frame")
239239
}
240-
case .processedHeaders:
240+
case .awaitingBodyOrTrailers:
241241
switch frame {
242242
case .headers(let headers):
243243
// If the incoming frame is of type 'headers', it must be the trailers
244244
do {
245245
let part = try Part.end(trailers: headers.fields)
246-
self.state = .processedTrailers
246+
self.state = .messageComplete
247247
return .returnPart(part)
248248
} catch {
249-
self.state = .previousError
249+
self.state = .failed
250250
return .emitError(error)
251251
}
252252
// Any number of data frames is fine. State stays as-is
@@ -256,7 +256,7 @@ package struct HTTPMessageParsingStateMachine<Part: HTTPMessagePart> {
256256
// This should not happen because the stream state machine shouldn't allow a bad frame to get here
257257
fatalError("Unexpected frame")
258258
}
259-
case .processedTrailers:
259+
case .messageComplete:
260260
// This should not happen because the stream state machine shouldn't allow a bad frame to get here
261261
fatalError("More frames received after trailers")
262262
}
@@ -268,15 +268,15 @@ package struct HTTPMessageParsingStateMachine<Part: HTTPMessagePart> {
268268

269269
package mutating func inputClosed() -> InputClosedAction? {
270270
switch self.state {
271-
case .awaitingFinalHead:
272-
self.state = .processedTrailers
271+
case .awaitingHeaders:
272+
self.state = .messageComplete
273273
return .returnPart(.end())
274-
case .processedHeaders:
275-
self.state = .processedTrailers
274+
case .awaitingBodyOrTrailers:
275+
self.state = .messageComplete
276276
return .returnPart(.end())
277-
case .previousError:
277+
case .failed:
278278
return .none
279-
case .processedTrailers:
279+
case .messageComplete:
280280
// If we processed trailers, that means we sent an end, so don't send another one
281281
return .none
282282
}

0 commit comments

Comments
 (0)