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));
}
}