private static AbstractRequest doParseRequest()

in clients/src/main/java/org/apache/kafka/common/requests/AbstractRequest.java [177:361]


    private static AbstractRequest doParseRequest(ApiKeys apiKey, short apiVersion, Readable readable) {
        switch (apiKey) {
            case PRODUCE:
                return ProduceRequest.parse(readable, apiVersion);
            case FETCH:
                return FetchRequest.parse(readable, apiVersion);
            case LIST_OFFSETS:
                return ListOffsetsRequest.parse(readable, apiVersion);
            case METADATA:
                return MetadataRequest.parse(readable, apiVersion);
            case OFFSET_COMMIT:
                return OffsetCommitRequest.parse(readable, apiVersion);
            case OFFSET_FETCH:
                return OffsetFetchRequest.parse(readable, apiVersion);
            case FIND_COORDINATOR:
                return FindCoordinatorRequest.parse(readable, apiVersion);
            case JOIN_GROUP:
                return JoinGroupRequest.parse(readable, apiVersion);
            case HEARTBEAT:
                return HeartbeatRequest.parse(readable, apiVersion);
            case LEAVE_GROUP:
                return LeaveGroupRequest.parse(readable, apiVersion);
            case SYNC_GROUP:
                return SyncGroupRequest.parse(readable, apiVersion);
            case DESCRIBE_GROUPS:
                return DescribeGroupsRequest.parse(readable, apiVersion);
            case LIST_GROUPS:
                return ListGroupsRequest.parse(readable, apiVersion);
            case SASL_HANDSHAKE:
                return SaslHandshakeRequest.parse(readable, apiVersion);
            case API_VERSIONS:
                return ApiVersionsRequest.parse(readable, apiVersion);
            case CREATE_TOPICS:
                return CreateTopicsRequest.parse(readable, apiVersion);
            case DELETE_TOPICS:
                return DeleteTopicsRequest.parse(readable, apiVersion);
            case DELETE_RECORDS:
                return DeleteRecordsRequest.parse(readable, apiVersion);
            case INIT_PRODUCER_ID:
                return InitProducerIdRequest.parse(readable, apiVersion);
            case OFFSET_FOR_LEADER_EPOCH:
                return OffsetsForLeaderEpochRequest.parse(readable, apiVersion);
            case ADD_PARTITIONS_TO_TXN:
                return AddPartitionsToTxnRequest.parse(readable, apiVersion);
            case ADD_OFFSETS_TO_TXN:
                return AddOffsetsToTxnRequest.parse(readable, apiVersion);
            case END_TXN:
                return EndTxnRequest.parse(readable, apiVersion);
            case WRITE_TXN_MARKERS:
                return WriteTxnMarkersRequest.parse(readable, apiVersion);
            case TXN_OFFSET_COMMIT:
                return TxnOffsetCommitRequest.parse(readable, apiVersion);
            case DESCRIBE_ACLS:
                return DescribeAclsRequest.parse(readable, apiVersion);
            case CREATE_ACLS:
                return CreateAclsRequest.parse(readable, apiVersion);
            case DELETE_ACLS:
                return DeleteAclsRequest.parse(readable, apiVersion);
            case DESCRIBE_CONFIGS:
                return DescribeConfigsRequest.parse(readable, apiVersion);
            case ALTER_CONFIGS:
                return AlterConfigsRequest.parse(readable, apiVersion);
            case ALTER_REPLICA_LOG_DIRS:
                return AlterReplicaLogDirsRequest.parse(readable, apiVersion);
            case DESCRIBE_LOG_DIRS:
                return DescribeLogDirsRequest.parse(readable, apiVersion);
            case SASL_AUTHENTICATE:
                return SaslAuthenticateRequest.parse(readable, apiVersion);
            case CREATE_PARTITIONS:
                return CreatePartitionsRequest.parse(readable, apiVersion);
            case CREATE_DELEGATION_TOKEN:
                return CreateDelegationTokenRequest.parse(readable, apiVersion);
            case RENEW_DELEGATION_TOKEN:
                return RenewDelegationTokenRequest.parse(readable, apiVersion);
            case EXPIRE_DELEGATION_TOKEN:
                return ExpireDelegationTokenRequest.parse(readable, apiVersion);
            case DESCRIBE_DELEGATION_TOKEN:
                return DescribeDelegationTokenRequest.parse(readable, apiVersion);
            case DELETE_GROUPS:
                return DeleteGroupsRequest.parse(readable, apiVersion);
            case ELECT_LEADERS:
                return ElectLeadersRequest.parse(readable, apiVersion);
            case INCREMENTAL_ALTER_CONFIGS:
                return IncrementalAlterConfigsRequest.parse(readable, apiVersion);
            case ALTER_PARTITION_REASSIGNMENTS:
                return AlterPartitionReassignmentsRequest.parse(readable, apiVersion);
            case LIST_PARTITION_REASSIGNMENTS:
                return ListPartitionReassignmentsRequest.parse(readable, apiVersion);
            case OFFSET_DELETE:
                return OffsetDeleteRequest.parse(readable, apiVersion);
            case DESCRIBE_CLIENT_QUOTAS:
                return DescribeClientQuotasRequest.parse(readable, apiVersion);
            case ALTER_CLIENT_QUOTAS:
                return AlterClientQuotasRequest.parse(readable, apiVersion);
            case DESCRIBE_USER_SCRAM_CREDENTIALS:
                return DescribeUserScramCredentialsRequest.parse(readable, apiVersion);
            case ALTER_USER_SCRAM_CREDENTIALS:
                return AlterUserScramCredentialsRequest.parse(readable, apiVersion);
            case VOTE:
                return VoteRequest.parse(readable, apiVersion);
            case BEGIN_QUORUM_EPOCH:
                return BeginQuorumEpochRequest.parse(readable, apiVersion);
            case END_QUORUM_EPOCH:
                return EndQuorumEpochRequest.parse(readable, apiVersion);
            case DESCRIBE_QUORUM:
                return DescribeQuorumRequest.parse(readable, apiVersion);
            case ALTER_PARTITION:
                return AlterPartitionRequest.parse(readable, apiVersion);
            case UPDATE_FEATURES:
                return UpdateFeaturesRequest.parse(readable, apiVersion);
            case ENVELOPE:
                return EnvelopeRequest.parse(readable, apiVersion);
            case FETCH_SNAPSHOT:
                return FetchSnapshotRequest.parse(readable, apiVersion);
            case DESCRIBE_CLUSTER:
                return DescribeClusterRequest.parse(readable, apiVersion);
            case DESCRIBE_PRODUCERS:
                return DescribeProducersRequest.parse(readable, apiVersion);
            case BROKER_REGISTRATION:
                return BrokerRegistrationRequest.parse(readable, apiVersion);
            case BROKER_HEARTBEAT:
                return BrokerHeartbeatRequest.parse(readable, apiVersion);
            case UNREGISTER_BROKER:
                return UnregisterBrokerRequest.parse(readable, apiVersion);
            case DESCRIBE_TRANSACTIONS:
                return DescribeTransactionsRequest.parse(readable, apiVersion);
            case LIST_TRANSACTIONS:
                return ListTransactionsRequest.parse(readable, apiVersion);
            case ALLOCATE_PRODUCER_IDS:
                return AllocateProducerIdsRequest.parse(readable, apiVersion);
            case CONSUMER_GROUP_HEARTBEAT:
                return ConsumerGroupHeartbeatRequest.parse(readable, apiVersion);
            case CONSUMER_GROUP_DESCRIBE:
                return ConsumerGroupDescribeRequest.parse(readable, apiVersion);
            case CONTROLLER_REGISTRATION:
                return ControllerRegistrationRequest.parse(readable, apiVersion);
            case GET_TELEMETRY_SUBSCRIPTIONS:
                return GetTelemetrySubscriptionsRequest.parse(readable, apiVersion);
            case PUSH_TELEMETRY:
                return PushTelemetryRequest.parse(readable, apiVersion);
            case ASSIGN_REPLICAS_TO_DIRS:
                return AssignReplicasToDirsRequest.parse(readable, apiVersion);
            case LIST_CLIENT_METRICS_RESOURCES:
                return ListClientMetricsResourcesRequest.parse(readable, apiVersion);
            case DESCRIBE_TOPIC_PARTITIONS:
                return DescribeTopicPartitionsRequest.parse(readable, apiVersion);
            case SHARE_GROUP_HEARTBEAT:
                return ShareGroupHeartbeatRequest.parse(readable, apiVersion);
            case SHARE_GROUP_DESCRIBE:
                return ShareGroupDescribeRequest.parse(readable, apiVersion);
            case SHARE_FETCH:
                return ShareFetchRequest.parse(readable, apiVersion);
            case SHARE_ACKNOWLEDGE:
                return ShareAcknowledgeRequest.parse(readable, apiVersion);
            case ADD_RAFT_VOTER:
                return AddRaftVoterRequest.parse(readable, apiVersion);
            case REMOVE_RAFT_VOTER:
                return RemoveRaftVoterRequest.parse(readable, apiVersion);
            case UPDATE_RAFT_VOTER:
                return UpdateRaftVoterRequest.parse(readable, apiVersion);
            case INITIALIZE_SHARE_GROUP_STATE:
                return InitializeShareGroupStateRequest.parse(readable, apiVersion);
            case READ_SHARE_GROUP_STATE:
                return ReadShareGroupStateRequest.parse(readable, apiVersion);
            case WRITE_SHARE_GROUP_STATE:
                return WriteShareGroupStateRequest.parse(readable, apiVersion);
            case DELETE_SHARE_GROUP_STATE:
                return DeleteShareGroupStateRequest.parse(readable, apiVersion);
            case READ_SHARE_GROUP_STATE_SUMMARY:
                return ReadShareGroupStateSummaryRequest.parse(readable, apiVersion);
            case STREAMS_GROUP_HEARTBEAT:
                return StreamsGroupHeartbeatRequest.parse(readable, apiVersion);
            case STREAMS_GROUP_DESCRIBE:
                return StreamsGroupDescribeRequest.parse(readable, apiVersion);
            case DESCRIBE_SHARE_GROUP_OFFSETS:
                return DescribeShareGroupOffsetsRequest.parse(readable, apiVersion);
            case ALTER_SHARE_GROUP_OFFSETS:
                return AlterShareGroupOffsetsRequest.parse(readable, apiVersion);
            case DELETE_SHARE_GROUP_OFFSETS:
                return DeleteShareGroupOffsetsRequest.parse(readable, apiVersion);
            default:
                throw new AssertionError(String.format("ApiKey %s is not currently handled in `parseRequest`, the " +
                        "code should be updated to do so.", apiKey));
        }
    }