private static void WriteMessageCore()

in src/Microsoft.Azure.SignalR.Protocols/ServiceProtocol.cs [219:352]


    private static void WriteMessageCore(ref MessagePackWriter writer, ServiceMessage message)
    {
#pragma warning disable CS0618 // Type or member is obsolete
        switch (message)
        {
            case HandshakeRequestMessage handshakeRequestMessage:
                WriteHandshakeRequestMessage(ref writer, handshakeRequestMessage);
                break;
            case HandshakeResponseMessage handshakeResponseMessage:
                WriteHandshakeResponseMessage(ref writer, handshakeResponseMessage);
                break;
            case AccessKeyRequestMessage accessKeyRequestMessage:
                WriteAccessKeyRequestMessage(ref writer, accessKeyRequestMessage);
                break;
            case AccessKeyResponseMessage accessKeyResponseMessage:
                WriteAccessKeyResponseMessage(ref writer, accessKeyResponseMessage);
                break;
            case PingMessage pingMessage:
                WritePingMessage(ref writer, pingMessage);
                break;
            case OpenConnectionMessage openConnectionMessage:
                WriteOpenConnectionMessage(ref writer, openConnectionMessage);
                break;
            case CloseConnectionMessage closeConnectionMessage:
                WriteCloseConnectionMessage(ref writer, closeConnectionMessage);
                break;
            case ConnectionDataMessage connectionDataMessage:
                WriteConnectionDataMessage(ref writer, connectionDataMessage);
                break;
            case ConnectionReconnectMessage connectionReconnectMessage:
                WriteConnectionReconnectMessage(ref writer, connectionReconnectMessage);
                break;
            case MultiConnectionDataMessage multiConnectionDataMessage:
                WriteMultiConnectionDataMessage(ref writer, multiConnectionDataMessage);
                break;
            case UserDataMessage userDataMessage:
                WriteUserDataMessage(ref writer, userDataMessage);
                break;
            case MultiUserDataMessage multiUserDataMessage:
                WriteMultiUserDataMessage(ref writer, multiUserDataMessage);
                break;
            case BroadcastDataMessage broadcastDataMessage:
                WriteBroadcastDataMessage(ref writer, broadcastDataMessage);
                break;
            case JoinGroupMessage joinGroupMessage:
                WriteJoinGroupMessage(ref writer, joinGroupMessage);
                break;
            case JoinGroupWithAckMessage joinGroupWithAckMessage:
                WriteJoinGroupWithAckMessage(ref writer, joinGroupWithAckMessage);
                break;
            case LeaveGroupMessage leaveGroupMessage:
                WriteLeaveGroupMessage(ref writer, leaveGroupMessage);
                break;
            case LeaveGroupWithAckMessage leaveGroupWithAckMessage:
                WriteLeaveGroupWithAckMessage(ref writer, leaveGroupWithAckMessage);
                break;
            case CheckUserInGroupWithAckMessage checkUserInGroupWithAckMessage:
                WriteCheckUserInGroupWithAckMessage(ref writer, checkUserInGroupWithAckMessage);
                break;
            case CheckGroupExistenceWithAckMessage checkAnyConnectionInGroupWithAckMessage:
                WriteCheckGroupExistenceWithAckMessage(ref writer, checkAnyConnectionInGroupWithAckMessage);
                break;
            case CheckConnectionExistenceWithAckMessage checkConnectionExistenceWithAckMessage:
                WriteCheckConnectionExistenceWithAckMessage(ref writer, checkConnectionExistenceWithAckMessage);
                break;
            case CheckUserExistenceWithAckMessage checkConnectionExistenceAsUserWithAckMessage:
                WriteCheckUserExistenceWithAckMessage(ref writer, checkConnectionExistenceAsUserWithAckMessage);
                break;
            case UserJoinGroupMessage userJoinGroupMessage:
                WriteUserJoinGroupMessage(ref writer, userJoinGroupMessage);
                break;
            case UserLeaveGroupMessage userLeaveGroupMessage:
                WriteUserLeaveGroupMessage(ref writer, userLeaveGroupMessage);
                break;
            case UserJoinGroupWithAckMessage userJoinGroupWithAckMessage:
                WriteUserJoinGroupWithAckMessage(ref writer, userJoinGroupWithAckMessage);
                break;
            case UserLeaveGroupWithAckMessage userLeaveGroupWithAckMessage:
                WriteUserLeaveGroupWithAckMessage(ref writer, userLeaveGroupWithAckMessage);
                break;
            case GroupBroadcastDataMessage groupBroadcastDataMessage:
                WriteGroupBroadcastDataMessage(ref writer, groupBroadcastDataMessage);
                break;
            case MultiGroupBroadcastDataMessage multiGroupBroadcastDataMessage:
                WriteMultiGroupBroadcastDataMessage(ref writer, multiGroupBroadcastDataMessage);
                break;
            case ServiceErrorMessage serviceErrorMessage:
                WriteServiceErrorMessage(ref writer, serviceErrorMessage);
                break;
            case ServiceEventMessage serviceWarningMessage:
                WriteServiceEventMessage(ref writer, serviceWarningMessage);
                break;
            case CloseConnectionWithAckMessage closeConnectionWithAckMessage:
#pragma warning disable CS0612 // Type or member is obsolete
                WriteCloseConnectionWithAckMessage(ref writer, closeConnectionWithAckMessage);
                break;
            case CloseConnectionsWithAckMessage closeConnectionsWithAckMessage:
                WriteCloseConnectionsWithAckMessage(ref writer, closeConnectionsWithAckMessage);
#pragma warning restore CS0612 // Type or member is obsolete
                break;
            case CloseUserConnectionsWithAckMessage closeUserConnectionsWithAckMessage:
                WriteCloseUserConnectionsWithAckMessage(ref writer, closeUserConnectionsWithAckMessage);
                break;
            case CloseGroupConnectionsWithAckMessage closeGroupConnectionsWithAckMessage:
                WriteCloseGroupConnectionsWithAckMessage(ref writer, closeGroupConnectionsWithAckMessage);
                break;
            case AckMessage ackMessage:
                WriteAckMessage(ref writer, ackMessage);
                break;
            case ClientInvocationMessage clientInvocationMessage:
                WriteClientInvocationMessage(ref writer, clientInvocationMessage);
                break;
            case ClientCompletionMessage clientCompletionMesssage:
                WriteClientCompletionMessage(ref writer, clientCompletionMesssage);
                break;
            case ErrorCompletionMessage errorCompletionMesssage:
                WriteErrorCompletionMessage(ref writer, errorCompletionMesssage);
                break;
            case ServiceMappingMessage serviceMappingMessage:
                WriteServiceMappingMessage(ref writer, serviceMappingMessage);
                break;
            case ConnectionFlowControlMessage connectionFlowControlMessage:
                WriteConnectionFlowControlMessage(ref writer, connectionFlowControlMessage);
                break;
            case GroupMemberQueryMessage groupMemberQueryMessage:
                WriteGroupMemberQueryMessage(ref writer, groupMemberQueryMessage);
                break;
            default:
                throw new InvalidDataException($"Unexpected message type: {message.GetType().Name}");
        }
#pragma warning restore CS0618 // Type or member is obsolete

        writer.Flush();
    }