(ReadOnlySpan<byte> data)
| 198 | } |
| 199 | |
| 200 | private void ProcessReceivedMessage(ReadOnlySpan<byte> data) |
| 201 | { |
| 202 | using var scope = BiDiContext.Use(_bidi); |
| 203 | const int TypeSuccess = 1; |
| 204 | const int TypeEvent = 2; |
| 205 | const int TypeError = 3; |
| 206 | |
| 207 | long? id = default; |
| 208 | int messageType = 0; |
| 209 | string? method = default; |
| 210 | string? error = default; |
| 211 | string? message = default; |
| 212 | Utf8JsonReader resultReader = default; |
| 213 | Utf8JsonReader paramsReader = default; |
| 214 | Dictionary<string, JsonElement>? additionalMessageData = null; |
| 215 | |
| 216 | Utf8JsonReader reader = new(data); |
| 217 | reader.Read(); // "{" |
| 218 | |
| 219 | reader.Read(); |
| 220 | |
| 221 | while (reader.TokenType == JsonTokenType.PropertyName) |
| 222 | { |
| 223 | if (reader.ValueTextEquals("id"u8)) |
| 224 | { |
| 225 | reader.Read(); |
| 226 | id = reader.GetInt64(); |
| 227 | } |
| 228 | else if (reader.ValueTextEquals("type"u8)) |
| 229 | { |
| 230 | reader.Read(); |
| 231 | if (reader.ValueTextEquals("success"u8)) messageType = TypeSuccess; |
| 232 | else if (reader.ValueTextEquals("event"u8)) messageType = TypeEvent; |
| 233 | else if (reader.ValueTextEquals("error"u8)) messageType = TypeError; |
| 234 | } |
| 235 | else if (reader.ValueTextEquals("method"u8)) |
| 236 | { |
| 237 | reader.Read(); |
| 238 | method = reader.GetString(); |
| 239 | } |
| 240 | else if (reader.ValueTextEquals("result"u8)) |
| 241 | { |
| 242 | reader.Read(); |
| 243 | resultReader = reader; // snapshot |
| 244 | } |
| 245 | else if (reader.ValueTextEquals("params"u8)) |
| 246 | { |
| 247 | reader.Read(); |
| 248 | paramsReader = reader; // snapshot |
| 249 | } |
| 250 | else if (reader.ValueTextEquals("error"u8)) |
| 251 | { |
| 252 | reader.Read(); |
| 253 | error = reader.GetString(); |
| 254 | } |
| 255 | else if (reader.ValueTextEquals("message"u8)) |
| 256 | { |
| 257 | reader.Read(); |
nothing calls this directly
no test coverage detected