in Sources/NIOSOCKS/State/ServerStateMachine.swift [56:72]
mutating func receiveBuffer(_ buffer: inout ByteBuffer) throws -> ClientMessage? {
do {
switch self.state {
case .inactive, .waitingToSendAuthenticationMethod, .waitingToSendResponse, .active, .error:
throw SOCKSError.UnexpectedRead()
case .waitingForClientGreeting:
return try self.handleClientGreeting(from: &buffer)
case .authenticating:
return self.handleAuthenticationData(from: &buffer)
case .waitingForClientRequest:
return try self.handleClientRequest(from: &buffer)
}
} catch {
self.state = .error
throw error
}
}