1#[cfg(feature = "messages_enums")]
7#[cfg(any(feature = "client", feature = "broker"))]
8use crate::protocol::Decodable;
9#[cfg(feature = "messages_enums")]
10#[cfg(any(feature = "client", feature = "broker"))]
11use crate::protocol::Encodable;
12#[cfg(all(feature = "client", feature = "broker"))]
13use crate::protocol::Request;
14use crate::protocol::VersionRange;
15use crate::protocol::{HeaderVersion, NewType, StrBytes};
16#[cfg(feature = "messages_enums")]
17#[cfg(any(feature = "client", feature = "broker"))]
18use anyhow::Context;
19use anyhow::Result;
20use std::convert::TryFrom;
21
22pub mod consumer_protocol_assignment;
23pub use consumer_protocol_assignment::ConsumerProtocolAssignment;
24
25pub mod consumer_protocol_subscription;
26pub use consumer_protocol_subscription::ConsumerProtocolSubscription;
27
28pub mod default_principal_data;
29pub use default_principal_data::DefaultPrincipalData;
30
31pub mod end_txn_marker;
32pub use end_txn_marker::EndTxnMarker;
33
34pub mod k_raft_version_record;
35pub use k_raft_version_record::KRaftVersionRecord;
36
37pub mod leader_change_message;
38pub use leader_change_message::LeaderChangeMessage;
39
40pub mod request_header;
41pub use request_header::RequestHeader;
42
43pub mod response_header;
44pub use response_header::ResponseHeader;
45
46pub mod snapshot_footer_record;
47pub use snapshot_footer_record::SnapshotFooterRecord;
48
49pub mod snapshot_header_record;
50pub use snapshot_header_record::SnapshotHeaderRecord;
51
52pub mod voters_record;
53pub use voters_record::VotersRecord;
54
55pub mod produce_request;
56pub use produce_request::ProduceRequest;
57
58pub mod fetch_request;
59pub use fetch_request::FetchRequest;
60
61pub mod list_offsets_request;
62pub use list_offsets_request::ListOffsetsRequest;
63
64pub mod metadata_request;
65pub use metadata_request::MetadataRequest;
66
67pub mod offset_commit_request;
68pub use offset_commit_request::OffsetCommitRequest;
69
70pub mod offset_fetch_request;
71pub use offset_fetch_request::OffsetFetchRequest;
72
73pub mod find_coordinator_request;
74pub use find_coordinator_request::FindCoordinatorRequest;
75
76pub mod join_group_request;
77pub use join_group_request::JoinGroupRequest;
78
79pub mod heartbeat_request;
80pub use heartbeat_request::HeartbeatRequest;
81
82pub mod leave_group_request;
83pub use leave_group_request::LeaveGroupRequest;
84
85pub mod sync_group_request;
86pub use sync_group_request::SyncGroupRequest;
87
88pub mod describe_groups_request;
89pub use describe_groups_request::DescribeGroupsRequest;
90
91pub mod list_groups_request;
92pub use list_groups_request::ListGroupsRequest;
93
94pub mod sasl_handshake_request;
95pub use sasl_handshake_request::SaslHandshakeRequest;
96
97pub mod api_versions_request;
98pub use api_versions_request::ApiVersionsRequest;
99
100pub mod create_topics_request;
101pub use create_topics_request::CreateTopicsRequest;
102
103pub mod delete_topics_request;
104pub use delete_topics_request::DeleteTopicsRequest;
105
106pub mod delete_records_request;
107pub use delete_records_request::DeleteRecordsRequest;
108
109pub mod init_producer_id_request;
110pub use init_producer_id_request::InitProducerIdRequest;
111
112pub mod offset_for_leader_epoch_request;
113pub use offset_for_leader_epoch_request::OffsetForLeaderEpochRequest;
114
115pub mod add_partitions_to_txn_request;
116pub use add_partitions_to_txn_request::AddPartitionsToTxnRequest;
117
118pub mod add_offsets_to_txn_request;
119pub use add_offsets_to_txn_request::AddOffsetsToTxnRequest;
120
121pub mod end_txn_request;
122pub use end_txn_request::EndTxnRequest;
123
124pub mod write_txn_markers_request;
125pub use write_txn_markers_request::WriteTxnMarkersRequest;
126
127pub mod txn_offset_commit_request;
128pub use txn_offset_commit_request::TxnOffsetCommitRequest;
129
130pub mod describe_acls_request;
131pub use describe_acls_request::DescribeAclsRequest;
132
133pub mod create_acls_request;
134pub use create_acls_request::CreateAclsRequest;
135
136pub mod delete_acls_request;
137pub use delete_acls_request::DeleteAclsRequest;
138
139pub mod describe_configs_request;
140pub use describe_configs_request::DescribeConfigsRequest;
141
142pub mod alter_configs_request;
143pub use alter_configs_request::AlterConfigsRequest;
144
145pub mod alter_replica_log_dirs_request;
146pub use alter_replica_log_dirs_request::AlterReplicaLogDirsRequest;
147
148pub mod describe_log_dirs_request;
149pub use describe_log_dirs_request::DescribeLogDirsRequest;
150
151pub mod sasl_authenticate_request;
152pub use sasl_authenticate_request::SaslAuthenticateRequest;
153
154pub mod create_partitions_request;
155pub use create_partitions_request::CreatePartitionsRequest;
156
157pub mod create_delegation_token_request;
158pub use create_delegation_token_request::CreateDelegationTokenRequest;
159
160pub mod renew_delegation_token_request;
161pub use renew_delegation_token_request::RenewDelegationTokenRequest;
162
163pub mod expire_delegation_token_request;
164pub use expire_delegation_token_request::ExpireDelegationTokenRequest;
165
166pub mod describe_delegation_token_request;
167pub use describe_delegation_token_request::DescribeDelegationTokenRequest;
168
169pub mod delete_groups_request;
170pub use delete_groups_request::DeleteGroupsRequest;
171
172pub mod elect_leaders_request;
173pub use elect_leaders_request::ElectLeadersRequest;
174
175pub mod incremental_alter_configs_request;
176pub use incremental_alter_configs_request::IncrementalAlterConfigsRequest;
177
178pub mod alter_partition_reassignments_request;
179pub use alter_partition_reassignments_request::AlterPartitionReassignmentsRequest;
180
181pub mod list_partition_reassignments_request;
182pub use list_partition_reassignments_request::ListPartitionReassignmentsRequest;
183
184pub mod offset_delete_request;
185pub use offset_delete_request::OffsetDeleteRequest;
186
187pub mod describe_client_quotas_request;
188pub use describe_client_quotas_request::DescribeClientQuotasRequest;
189
190pub mod alter_client_quotas_request;
191pub use alter_client_quotas_request::AlterClientQuotasRequest;
192
193pub mod describe_user_scram_credentials_request;
194pub use describe_user_scram_credentials_request::DescribeUserScramCredentialsRequest;
195
196pub mod alter_user_scram_credentials_request;
197pub use alter_user_scram_credentials_request::AlterUserScramCredentialsRequest;
198
199pub mod vote_request;
200pub use vote_request::VoteRequest;
201
202pub mod begin_quorum_epoch_request;
203pub use begin_quorum_epoch_request::BeginQuorumEpochRequest;
204
205pub mod end_quorum_epoch_request;
206pub use end_quorum_epoch_request::EndQuorumEpochRequest;
207
208pub mod describe_quorum_request;
209pub use describe_quorum_request::DescribeQuorumRequest;
210
211pub mod alter_partition_request;
212pub use alter_partition_request::AlterPartitionRequest;
213
214pub mod update_features_request;
215pub use update_features_request::UpdateFeaturesRequest;
216
217pub mod envelope_request;
218pub use envelope_request::EnvelopeRequest;
219
220pub mod fetch_snapshot_request;
221pub use fetch_snapshot_request::FetchSnapshotRequest;
222
223pub mod describe_cluster_request;
224pub use describe_cluster_request::DescribeClusterRequest;
225
226pub mod describe_producers_request;
227pub use describe_producers_request::DescribeProducersRequest;
228
229pub mod broker_registration_request;
230pub use broker_registration_request::BrokerRegistrationRequest;
231
232pub mod broker_heartbeat_request;
233pub use broker_heartbeat_request::BrokerHeartbeatRequest;
234
235pub mod unregister_broker_request;
236pub use unregister_broker_request::UnregisterBrokerRequest;
237
238pub mod describe_transactions_request;
239pub use describe_transactions_request::DescribeTransactionsRequest;
240
241pub mod list_transactions_request;
242pub use list_transactions_request::ListTransactionsRequest;
243
244pub mod allocate_producer_ids_request;
245pub use allocate_producer_ids_request::AllocateProducerIdsRequest;
246
247pub mod consumer_group_heartbeat_request;
248pub use consumer_group_heartbeat_request::ConsumerGroupHeartbeatRequest;
249
250pub mod consumer_group_describe_request;
251pub use consumer_group_describe_request::ConsumerGroupDescribeRequest;
252
253pub mod controller_registration_request;
254pub use controller_registration_request::ControllerRegistrationRequest;
255
256pub mod get_telemetry_subscriptions_request;
257pub use get_telemetry_subscriptions_request::GetTelemetrySubscriptionsRequest;
258
259pub mod push_telemetry_request;
260pub use push_telemetry_request::PushTelemetryRequest;
261
262pub mod assign_replicas_to_dirs_request;
263pub use assign_replicas_to_dirs_request::AssignReplicasToDirsRequest;
264
265pub mod list_config_resources_request;
266pub use list_config_resources_request::ListConfigResourcesRequest;
267
268pub mod describe_topic_partitions_request;
269pub use describe_topic_partitions_request::DescribeTopicPartitionsRequest;
270
271pub mod share_group_heartbeat_request;
272pub use share_group_heartbeat_request::ShareGroupHeartbeatRequest;
273
274pub mod share_group_describe_request;
275pub use share_group_describe_request::ShareGroupDescribeRequest;
276
277pub mod share_fetch_request;
278pub use share_fetch_request::ShareFetchRequest;
279
280pub mod share_acknowledge_request;
281pub use share_acknowledge_request::ShareAcknowledgeRequest;
282
283pub mod add_raft_voter_request;
284pub use add_raft_voter_request::AddRaftVoterRequest;
285
286pub mod remove_raft_voter_request;
287pub use remove_raft_voter_request::RemoveRaftVoterRequest;
288
289pub mod update_raft_voter_request;
290pub use update_raft_voter_request::UpdateRaftVoterRequest;
291
292pub mod initialize_share_group_state_request;
293pub use initialize_share_group_state_request::InitializeShareGroupStateRequest;
294
295pub mod read_share_group_state_request;
296pub use read_share_group_state_request::ReadShareGroupStateRequest;
297
298pub mod write_share_group_state_request;
299pub use write_share_group_state_request::WriteShareGroupStateRequest;
300
301pub mod delete_share_group_state_request;
302pub use delete_share_group_state_request::DeleteShareGroupStateRequest;
303
304pub mod read_share_group_state_summary_request;
305pub use read_share_group_state_summary_request::ReadShareGroupStateSummaryRequest;
306
307pub mod describe_share_group_offsets_request;
308pub use describe_share_group_offsets_request::DescribeShareGroupOffsetsRequest;
309
310pub mod alter_share_group_offsets_request;
311pub use alter_share_group_offsets_request::AlterShareGroupOffsetsRequest;
312
313pub mod delete_share_group_offsets_request;
314pub use delete_share_group_offsets_request::DeleteShareGroupOffsetsRequest;
315
316pub mod produce_response;
317pub use produce_response::ProduceResponse;
318
319pub mod fetch_response;
320pub use fetch_response::FetchResponse;
321
322pub mod list_offsets_response;
323pub use list_offsets_response::ListOffsetsResponse;
324
325pub mod metadata_response;
326pub use metadata_response::MetadataResponse;
327
328pub mod offset_commit_response;
329pub use offset_commit_response::OffsetCommitResponse;
330
331pub mod offset_fetch_response;
332pub use offset_fetch_response::OffsetFetchResponse;
333
334pub mod find_coordinator_response;
335pub use find_coordinator_response::FindCoordinatorResponse;
336
337pub mod join_group_response;
338pub use join_group_response::JoinGroupResponse;
339
340pub mod heartbeat_response;
341pub use heartbeat_response::HeartbeatResponse;
342
343pub mod leave_group_response;
344pub use leave_group_response::LeaveGroupResponse;
345
346pub mod sync_group_response;
347pub use sync_group_response::SyncGroupResponse;
348
349pub mod describe_groups_response;
350pub use describe_groups_response::DescribeGroupsResponse;
351
352pub mod list_groups_response;
353pub use list_groups_response::ListGroupsResponse;
354
355pub mod sasl_handshake_response;
356pub use sasl_handshake_response::SaslHandshakeResponse;
357
358pub mod api_versions_response;
359pub use api_versions_response::ApiVersionsResponse;
360
361pub mod create_topics_response;
362pub use create_topics_response::CreateTopicsResponse;
363
364pub mod delete_topics_response;
365pub use delete_topics_response::DeleteTopicsResponse;
366
367pub mod delete_records_response;
368pub use delete_records_response::DeleteRecordsResponse;
369
370pub mod init_producer_id_response;
371pub use init_producer_id_response::InitProducerIdResponse;
372
373pub mod offset_for_leader_epoch_response;
374pub use offset_for_leader_epoch_response::OffsetForLeaderEpochResponse;
375
376pub mod add_partitions_to_txn_response;
377pub use add_partitions_to_txn_response::AddPartitionsToTxnResponse;
378
379pub mod add_offsets_to_txn_response;
380pub use add_offsets_to_txn_response::AddOffsetsToTxnResponse;
381
382pub mod end_txn_response;
383pub use end_txn_response::EndTxnResponse;
384
385pub mod write_txn_markers_response;
386pub use write_txn_markers_response::WriteTxnMarkersResponse;
387
388pub mod txn_offset_commit_response;
389pub use txn_offset_commit_response::TxnOffsetCommitResponse;
390
391pub mod describe_acls_response;
392pub use describe_acls_response::DescribeAclsResponse;
393
394pub mod create_acls_response;
395pub use create_acls_response::CreateAclsResponse;
396
397pub mod delete_acls_response;
398pub use delete_acls_response::DeleteAclsResponse;
399
400pub mod describe_configs_response;
401pub use describe_configs_response::DescribeConfigsResponse;
402
403pub mod alter_configs_response;
404pub use alter_configs_response::AlterConfigsResponse;
405
406pub mod alter_replica_log_dirs_response;
407pub use alter_replica_log_dirs_response::AlterReplicaLogDirsResponse;
408
409pub mod describe_log_dirs_response;
410pub use describe_log_dirs_response::DescribeLogDirsResponse;
411
412pub mod sasl_authenticate_response;
413pub use sasl_authenticate_response::SaslAuthenticateResponse;
414
415pub mod create_partitions_response;
416pub use create_partitions_response::CreatePartitionsResponse;
417
418pub mod create_delegation_token_response;
419pub use create_delegation_token_response::CreateDelegationTokenResponse;
420
421pub mod renew_delegation_token_response;
422pub use renew_delegation_token_response::RenewDelegationTokenResponse;
423
424pub mod expire_delegation_token_response;
425pub use expire_delegation_token_response::ExpireDelegationTokenResponse;
426
427pub mod describe_delegation_token_response;
428pub use describe_delegation_token_response::DescribeDelegationTokenResponse;
429
430pub mod delete_groups_response;
431pub use delete_groups_response::DeleteGroupsResponse;
432
433pub mod elect_leaders_response;
434pub use elect_leaders_response::ElectLeadersResponse;
435
436pub mod incremental_alter_configs_response;
437pub use incremental_alter_configs_response::IncrementalAlterConfigsResponse;
438
439pub mod alter_partition_reassignments_response;
440pub use alter_partition_reassignments_response::AlterPartitionReassignmentsResponse;
441
442pub mod list_partition_reassignments_response;
443pub use list_partition_reassignments_response::ListPartitionReassignmentsResponse;
444
445pub mod offset_delete_response;
446pub use offset_delete_response::OffsetDeleteResponse;
447
448pub mod describe_client_quotas_response;
449pub use describe_client_quotas_response::DescribeClientQuotasResponse;
450
451pub mod alter_client_quotas_response;
452pub use alter_client_quotas_response::AlterClientQuotasResponse;
453
454pub mod describe_user_scram_credentials_response;
455pub use describe_user_scram_credentials_response::DescribeUserScramCredentialsResponse;
456
457pub mod alter_user_scram_credentials_response;
458pub use alter_user_scram_credentials_response::AlterUserScramCredentialsResponse;
459
460pub mod vote_response;
461pub use vote_response::VoteResponse;
462
463pub mod begin_quorum_epoch_response;
464pub use begin_quorum_epoch_response::BeginQuorumEpochResponse;
465
466pub mod end_quorum_epoch_response;
467pub use end_quorum_epoch_response::EndQuorumEpochResponse;
468
469pub mod describe_quorum_response;
470pub use describe_quorum_response::DescribeQuorumResponse;
471
472pub mod alter_partition_response;
473pub use alter_partition_response::AlterPartitionResponse;
474
475pub mod update_features_response;
476pub use update_features_response::UpdateFeaturesResponse;
477
478pub mod envelope_response;
479pub use envelope_response::EnvelopeResponse;
480
481pub mod fetch_snapshot_response;
482pub use fetch_snapshot_response::FetchSnapshotResponse;
483
484pub mod describe_cluster_response;
485pub use describe_cluster_response::DescribeClusterResponse;
486
487pub mod describe_producers_response;
488pub use describe_producers_response::DescribeProducersResponse;
489
490pub mod broker_registration_response;
491pub use broker_registration_response::BrokerRegistrationResponse;
492
493pub mod broker_heartbeat_response;
494pub use broker_heartbeat_response::BrokerHeartbeatResponse;
495
496pub mod unregister_broker_response;
497pub use unregister_broker_response::UnregisterBrokerResponse;
498
499pub mod describe_transactions_response;
500pub use describe_transactions_response::DescribeTransactionsResponse;
501
502pub mod list_transactions_response;
503pub use list_transactions_response::ListTransactionsResponse;
504
505pub mod allocate_producer_ids_response;
506pub use allocate_producer_ids_response::AllocateProducerIdsResponse;
507
508pub mod consumer_group_heartbeat_response;
509pub use consumer_group_heartbeat_response::ConsumerGroupHeartbeatResponse;
510
511pub mod consumer_group_describe_response;
512pub use consumer_group_describe_response::ConsumerGroupDescribeResponse;
513
514pub mod controller_registration_response;
515pub use controller_registration_response::ControllerRegistrationResponse;
516
517pub mod get_telemetry_subscriptions_response;
518pub use get_telemetry_subscriptions_response::GetTelemetrySubscriptionsResponse;
519
520pub mod push_telemetry_response;
521pub use push_telemetry_response::PushTelemetryResponse;
522
523pub mod assign_replicas_to_dirs_response;
524pub use assign_replicas_to_dirs_response::AssignReplicasToDirsResponse;
525
526pub mod list_config_resources_response;
527pub use list_config_resources_response::ListConfigResourcesResponse;
528
529pub mod describe_topic_partitions_response;
530pub use describe_topic_partitions_response::DescribeTopicPartitionsResponse;
531
532pub mod share_group_heartbeat_response;
533pub use share_group_heartbeat_response::ShareGroupHeartbeatResponse;
534
535pub mod share_group_describe_response;
536pub use share_group_describe_response::ShareGroupDescribeResponse;
537
538pub mod share_fetch_response;
539pub use share_fetch_response::ShareFetchResponse;
540
541pub mod share_acknowledge_response;
542pub use share_acknowledge_response::ShareAcknowledgeResponse;
543
544pub mod add_raft_voter_response;
545pub use add_raft_voter_response::AddRaftVoterResponse;
546
547pub mod remove_raft_voter_response;
548pub use remove_raft_voter_response::RemoveRaftVoterResponse;
549
550pub mod update_raft_voter_response;
551pub use update_raft_voter_response::UpdateRaftVoterResponse;
552
553pub mod initialize_share_group_state_response;
554pub use initialize_share_group_state_response::InitializeShareGroupStateResponse;
555
556pub mod read_share_group_state_response;
557pub use read_share_group_state_response::ReadShareGroupStateResponse;
558
559pub mod write_share_group_state_response;
560pub use write_share_group_state_response::WriteShareGroupStateResponse;
561
562pub mod delete_share_group_state_response;
563pub use delete_share_group_state_response::DeleteShareGroupStateResponse;
564
565pub mod read_share_group_state_summary_response;
566pub use read_share_group_state_summary_response::ReadShareGroupStateSummaryResponse;
567
568pub mod describe_share_group_offsets_response;
569pub use describe_share_group_offsets_response::DescribeShareGroupOffsetsResponse;
570
571pub mod alter_share_group_offsets_response;
572pub use alter_share_group_offsets_response::AlterShareGroupOffsetsResponse;
573
574pub mod delete_share_group_offsets_response;
575pub use delete_share_group_offsets_response::DeleteShareGroupOffsetsResponse;
576
577#[cfg(all(feature = "client", feature = "broker"))]
578impl Request for ProduceRequest {
579 const KEY: i16 = 0;
580 type Response = ProduceResponse;
581}
582
583#[cfg(all(feature = "client", feature = "broker"))]
584impl Request for FetchRequest {
585 const KEY: i16 = 1;
586 type Response = FetchResponse;
587}
588
589#[cfg(all(feature = "client", feature = "broker"))]
590impl Request for ListOffsetsRequest {
591 const KEY: i16 = 2;
592 type Response = ListOffsetsResponse;
593}
594
595#[cfg(all(feature = "client", feature = "broker"))]
596impl Request for MetadataRequest {
597 const KEY: i16 = 3;
598 type Response = MetadataResponse;
599}
600
601#[cfg(all(feature = "client", feature = "broker"))]
602impl Request for OffsetCommitRequest {
603 const KEY: i16 = 8;
604 type Response = OffsetCommitResponse;
605}
606
607#[cfg(all(feature = "client", feature = "broker"))]
608impl Request for OffsetFetchRequest {
609 const KEY: i16 = 9;
610 type Response = OffsetFetchResponse;
611}
612
613#[cfg(all(feature = "client", feature = "broker"))]
614impl Request for FindCoordinatorRequest {
615 const KEY: i16 = 10;
616 type Response = FindCoordinatorResponse;
617}
618
619#[cfg(all(feature = "client", feature = "broker"))]
620impl Request for JoinGroupRequest {
621 const KEY: i16 = 11;
622 type Response = JoinGroupResponse;
623}
624
625#[cfg(all(feature = "client", feature = "broker"))]
626impl Request for HeartbeatRequest {
627 const KEY: i16 = 12;
628 type Response = HeartbeatResponse;
629}
630
631#[cfg(all(feature = "client", feature = "broker"))]
632impl Request for LeaveGroupRequest {
633 const KEY: i16 = 13;
634 type Response = LeaveGroupResponse;
635}
636
637#[cfg(all(feature = "client", feature = "broker"))]
638impl Request for SyncGroupRequest {
639 const KEY: i16 = 14;
640 type Response = SyncGroupResponse;
641}
642
643#[cfg(all(feature = "client", feature = "broker"))]
644impl Request for DescribeGroupsRequest {
645 const KEY: i16 = 15;
646 type Response = DescribeGroupsResponse;
647}
648
649#[cfg(all(feature = "client", feature = "broker"))]
650impl Request for ListGroupsRequest {
651 const KEY: i16 = 16;
652 type Response = ListGroupsResponse;
653}
654
655#[cfg(all(feature = "client", feature = "broker"))]
656impl Request for SaslHandshakeRequest {
657 const KEY: i16 = 17;
658 type Response = SaslHandshakeResponse;
659}
660
661#[cfg(all(feature = "client", feature = "broker"))]
662impl Request for ApiVersionsRequest {
663 const KEY: i16 = 18;
664 type Response = ApiVersionsResponse;
665}
666
667#[cfg(all(feature = "client", feature = "broker"))]
668impl Request for CreateTopicsRequest {
669 const KEY: i16 = 19;
670 type Response = CreateTopicsResponse;
671}
672
673#[cfg(all(feature = "client", feature = "broker"))]
674impl Request for DeleteTopicsRequest {
675 const KEY: i16 = 20;
676 type Response = DeleteTopicsResponse;
677}
678
679#[cfg(all(feature = "client", feature = "broker"))]
680impl Request for DeleteRecordsRequest {
681 const KEY: i16 = 21;
682 type Response = DeleteRecordsResponse;
683}
684
685#[cfg(all(feature = "client", feature = "broker"))]
686impl Request for InitProducerIdRequest {
687 const KEY: i16 = 22;
688 type Response = InitProducerIdResponse;
689}
690
691#[cfg(all(feature = "client", feature = "broker"))]
692impl Request for OffsetForLeaderEpochRequest {
693 const KEY: i16 = 23;
694 type Response = OffsetForLeaderEpochResponse;
695}
696
697#[cfg(all(feature = "client", feature = "broker"))]
698impl Request for AddPartitionsToTxnRequest {
699 const KEY: i16 = 24;
700 type Response = AddPartitionsToTxnResponse;
701}
702
703#[cfg(all(feature = "client", feature = "broker"))]
704impl Request for AddOffsetsToTxnRequest {
705 const KEY: i16 = 25;
706 type Response = AddOffsetsToTxnResponse;
707}
708
709#[cfg(all(feature = "client", feature = "broker"))]
710impl Request for EndTxnRequest {
711 const KEY: i16 = 26;
712 type Response = EndTxnResponse;
713}
714
715#[cfg(all(feature = "client", feature = "broker"))]
716impl Request for WriteTxnMarkersRequest {
717 const KEY: i16 = 27;
718 type Response = WriteTxnMarkersResponse;
719}
720
721#[cfg(all(feature = "client", feature = "broker"))]
722impl Request for TxnOffsetCommitRequest {
723 const KEY: i16 = 28;
724 type Response = TxnOffsetCommitResponse;
725}
726
727#[cfg(all(feature = "client", feature = "broker"))]
728impl Request for DescribeAclsRequest {
729 const KEY: i16 = 29;
730 type Response = DescribeAclsResponse;
731}
732
733#[cfg(all(feature = "client", feature = "broker"))]
734impl Request for CreateAclsRequest {
735 const KEY: i16 = 30;
736 type Response = CreateAclsResponse;
737}
738
739#[cfg(all(feature = "client", feature = "broker"))]
740impl Request for DeleteAclsRequest {
741 const KEY: i16 = 31;
742 type Response = DeleteAclsResponse;
743}
744
745#[cfg(all(feature = "client", feature = "broker"))]
746impl Request for DescribeConfigsRequest {
747 const KEY: i16 = 32;
748 type Response = DescribeConfigsResponse;
749}
750
751#[cfg(all(feature = "client", feature = "broker"))]
752impl Request for AlterConfigsRequest {
753 const KEY: i16 = 33;
754 type Response = AlterConfigsResponse;
755}
756
757#[cfg(all(feature = "client", feature = "broker"))]
758impl Request for AlterReplicaLogDirsRequest {
759 const KEY: i16 = 34;
760 type Response = AlterReplicaLogDirsResponse;
761}
762
763#[cfg(all(feature = "client", feature = "broker"))]
764impl Request for DescribeLogDirsRequest {
765 const KEY: i16 = 35;
766 type Response = DescribeLogDirsResponse;
767}
768
769#[cfg(all(feature = "client", feature = "broker"))]
770impl Request for SaslAuthenticateRequest {
771 const KEY: i16 = 36;
772 type Response = SaslAuthenticateResponse;
773}
774
775#[cfg(all(feature = "client", feature = "broker"))]
776impl Request for CreatePartitionsRequest {
777 const KEY: i16 = 37;
778 type Response = CreatePartitionsResponse;
779}
780
781#[cfg(all(feature = "client", feature = "broker"))]
782impl Request for CreateDelegationTokenRequest {
783 const KEY: i16 = 38;
784 type Response = CreateDelegationTokenResponse;
785}
786
787#[cfg(all(feature = "client", feature = "broker"))]
788impl Request for RenewDelegationTokenRequest {
789 const KEY: i16 = 39;
790 type Response = RenewDelegationTokenResponse;
791}
792
793#[cfg(all(feature = "client", feature = "broker"))]
794impl Request for ExpireDelegationTokenRequest {
795 const KEY: i16 = 40;
796 type Response = ExpireDelegationTokenResponse;
797}
798
799#[cfg(all(feature = "client", feature = "broker"))]
800impl Request for DescribeDelegationTokenRequest {
801 const KEY: i16 = 41;
802 type Response = DescribeDelegationTokenResponse;
803}
804
805#[cfg(all(feature = "client", feature = "broker"))]
806impl Request for DeleteGroupsRequest {
807 const KEY: i16 = 42;
808 type Response = DeleteGroupsResponse;
809}
810
811#[cfg(all(feature = "client", feature = "broker"))]
812impl Request for ElectLeadersRequest {
813 const KEY: i16 = 43;
814 type Response = ElectLeadersResponse;
815}
816
817#[cfg(all(feature = "client", feature = "broker"))]
818impl Request for IncrementalAlterConfigsRequest {
819 const KEY: i16 = 44;
820 type Response = IncrementalAlterConfigsResponse;
821}
822
823#[cfg(all(feature = "client", feature = "broker"))]
824impl Request for AlterPartitionReassignmentsRequest {
825 const KEY: i16 = 45;
826 type Response = AlterPartitionReassignmentsResponse;
827}
828
829#[cfg(all(feature = "client", feature = "broker"))]
830impl Request for ListPartitionReassignmentsRequest {
831 const KEY: i16 = 46;
832 type Response = ListPartitionReassignmentsResponse;
833}
834
835#[cfg(all(feature = "client", feature = "broker"))]
836impl Request for OffsetDeleteRequest {
837 const KEY: i16 = 47;
838 type Response = OffsetDeleteResponse;
839}
840
841#[cfg(all(feature = "client", feature = "broker"))]
842impl Request for DescribeClientQuotasRequest {
843 const KEY: i16 = 48;
844 type Response = DescribeClientQuotasResponse;
845}
846
847#[cfg(all(feature = "client", feature = "broker"))]
848impl Request for AlterClientQuotasRequest {
849 const KEY: i16 = 49;
850 type Response = AlterClientQuotasResponse;
851}
852
853#[cfg(all(feature = "client", feature = "broker"))]
854impl Request for DescribeUserScramCredentialsRequest {
855 const KEY: i16 = 50;
856 type Response = DescribeUserScramCredentialsResponse;
857}
858
859#[cfg(all(feature = "client", feature = "broker"))]
860impl Request for AlterUserScramCredentialsRequest {
861 const KEY: i16 = 51;
862 type Response = AlterUserScramCredentialsResponse;
863}
864
865#[cfg(all(feature = "client", feature = "broker"))]
866impl Request for VoteRequest {
867 const KEY: i16 = 52;
868 type Response = VoteResponse;
869}
870
871#[cfg(all(feature = "client", feature = "broker"))]
872impl Request for BeginQuorumEpochRequest {
873 const KEY: i16 = 53;
874 type Response = BeginQuorumEpochResponse;
875}
876
877#[cfg(all(feature = "client", feature = "broker"))]
878impl Request for EndQuorumEpochRequest {
879 const KEY: i16 = 54;
880 type Response = EndQuorumEpochResponse;
881}
882
883#[cfg(all(feature = "client", feature = "broker"))]
884impl Request for DescribeQuorumRequest {
885 const KEY: i16 = 55;
886 type Response = DescribeQuorumResponse;
887}
888
889#[cfg(all(feature = "client", feature = "broker"))]
890impl Request for AlterPartitionRequest {
891 const KEY: i16 = 56;
892 type Response = AlterPartitionResponse;
893}
894
895#[cfg(all(feature = "client", feature = "broker"))]
896impl Request for UpdateFeaturesRequest {
897 const KEY: i16 = 57;
898 type Response = UpdateFeaturesResponse;
899}
900
901#[cfg(all(feature = "client", feature = "broker"))]
902impl Request for EnvelopeRequest {
903 const KEY: i16 = 58;
904 type Response = EnvelopeResponse;
905}
906
907#[cfg(all(feature = "client", feature = "broker"))]
908impl Request for FetchSnapshotRequest {
909 const KEY: i16 = 59;
910 type Response = FetchSnapshotResponse;
911}
912
913#[cfg(all(feature = "client", feature = "broker"))]
914impl Request for DescribeClusterRequest {
915 const KEY: i16 = 60;
916 type Response = DescribeClusterResponse;
917}
918
919#[cfg(all(feature = "client", feature = "broker"))]
920impl Request for DescribeProducersRequest {
921 const KEY: i16 = 61;
922 type Response = DescribeProducersResponse;
923}
924
925#[cfg(all(feature = "client", feature = "broker"))]
926impl Request for BrokerRegistrationRequest {
927 const KEY: i16 = 62;
928 type Response = BrokerRegistrationResponse;
929}
930
931#[cfg(all(feature = "client", feature = "broker"))]
932impl Request for BrokerHeartbeatRequest {
933 const KEY: i16 = 63;
934 type Response = BrokerHeartbeatResponse;
935}
936
937#[cfg(all(feature = "client", feature = "broker"))]
938impl Request for UnregisterBrokerRequest {
939 const KEY: i16 = 64;
940 type Response = UnregisterBrokerResponse;
941}
942
943#[cfg(all(feature = "client", feature = "broker"))]
944impl Request for DescribeTransactionsRequest {
945 const KEY: i16 = 65;
946 type Response = DescribeTransactionsResponse;
947}
948
949#[cfg(all(feature = "client", feature = "broker"))]
950impl Request for ListTransactionsRequest {
951 const KEY: i16 = 66;
952 type Response = ListTransactionsResponse;
953}
954
955#[cfg(all(feature = "client", feature = "broker"))]
956impl Request for AllocateProducerIdsRequest {
957 const KEY: i16 = 67;
958 type Response = AllocateProducerIdsResponse;
959}
960
961#[cfg(all(feature = "client", feature = "broker"))]
962impl Request for ConsumerGroupHeartbeatRequest {
963 const KEY: i16 = 68;
964 type Response = ConsumerGroupHeartbeatResponse;
965}
966
967#[cfg(all(feature = "client", feature = "broker"))]
968impl Request for ConsumerGroupDescribeRequest {
969 const KEY: i16 = 69;
970 type Response = ConsumerGroupDescribeResponse;
971}
972
973#[cfg(all(feature = "client", feature = "broker"))]
974impl Request for ControllerRegistrationRequest {
975 const KEY: i16 = 70;
976 type Response = ControllerRegistrationResponse;
977}
978
979#[cfg(all(feature = "client", feature = "broker"))]
980impl Request for GetTelemetrySubscriptionsRequest {
981 const KEY: i16 = 71;
982 type Response = GetTelemetrySubscriptionsResponse;
983}
984
985#[cfg(all(feature = "client", feature = "broker"))]
986impl Request for PushTelemetryRequest {
987 const KEY: i16 = 72;
988 type Response = PushTelemetryResponse;
989}
990
991#[cfg(all(feature = "client", feature = "broker"))]
992impl Request for AssignReplicasToDirsRequest {
993 const KEY: i16 = 73;
994 type Response = AssignReplicasToDirsResponse;
995}
996
997#[cfg(all(feature = "client", feature = "broker"))]
998impl Request for ListConfigResourcesRequest {
999 const KEY: i16 = 74;
1000 type Response = ListConfigResourcesResponse;
1001}
1002
1003#[cfg(all(feature = "client", feature = "broker"))]
1004impl Request for DescribeTopicPartitionsRequest {
1005 const KEY: i16 = 75;
1006 type Response = DescribeTopicPartitionsResponse;
1007}
1008
1009#[cfg(all(feature = "client", feature = "broker"))]
1010impl Request for ShareGroupHeartbeatRequest {
1011 const KEY: i16 = 76;
1012 type Response = ShareGroupHeartbeatResponse;
1013}
1014
1015#[cfg(all(feature = "client", feature = "broker"))]
1016impl Request for ShareGroupDescribeRequest {
1017 const KEY: i16 = 77;
1018 type Response = ShareGroupDescribeResponse;
1019}
1020
1021#[cfg(all(feature = "client", feature = "broker"))]
1022impl Request for ShareFetchRequest {
1023 const KEY: i16 = 78;
1024 type Response = ShareFetchResponse;
1025}
1026
1027#[cfg(all(feature = "client", feature = "broker"))]
1028impl Request for ShareAcknowledgeRequest {
1029 const KEY: i16 = 79;
1030 type Response = ShareAcknowledgeResponse;
1031}
1032
1033#[cfg(all(feature = "client", feature = "broker"))]
1034impl Request for AddRaftVoterRequest {
1035 const KEY: i16 = 80;
1036 type Response = AddRaftVoterResponse;
1037}
1038
1039#[cfg(all(feature = "client", feature = "broker"))]
1040impl Request for RemoveRaftVoterRequest {
1041 const KEY: i16 = 81;
1042 type Response = RemoveRaftVoterResponse;
1043}
1044
1045#[cfg(all(feature = "client", feature = "broker"))]
1046impl Request for UpdateRaftVoterRequest {
1047 const KEY: i16 = 82;
1048 type Response = UpdateRaftVoterResponse;
1049}
1050
1051#[cfg(all(feature = "client", feature = "broker"))]
1052impl Request for InitializeShareGroupStateRequest {
1053 const KEY: i16 = 83;
1054 type Response = InitializeShareGroupStateResponse;
1055}
1056
1057#[cfg(all(feature = "client", feature = "broker"))]
1058impl Request for ReadShareGroupStateRequest {
1059 const KEY: i16 = 84;
1060 type Response = ReadShareGroupStateResponse;
1061}
1062
1063#[cfg(all(feature = "client", feature = "broker"))]
1064impl Request for WriteShareGroupStateRequest {
1065 const KEY: i16 = 85;
1066 type Response = WriteShareGroupStateResponse;
1067}
1068
1069#[cfg(all(feature = "client", feature = "broker"))]
1070impl Request for DeleteShareGroupStateRequest {
1071 const KEY: i16 = 86;
1072 type Response = DeleteShareGroupStateResponse;
1073}
1074
1075#[cfg(all(feature = "client", feature = "broker"))]
1076impl Request for ReadShareGroupStateSummaryRequest {
1077 const KEY: i16 = 87;
1078 type Response = ReadShareGroupStateSummaryResponse;
1079}
1080
1081#[cfg(all(feature = "client", feature = "broker"))]
1082impl Request for DescribeShareGroupOffsetsRequest {
1083 const KEY: i16 = 90;
1084 type Response = DescribeShareGroupOffsetsResponse;
1085}
1086
1087#[cfg(all(feature = "client", feature = "broker"))]
1088impl Request for AlterShareGroupOffsetsRequest {
1089 const KEY: i16 = 91;
1090 type Response = AlterShareGroupOffsetsResponse;
1091}
1092
1093#[cfg(all(feature = "client", feature = "broker"))]
1094impl Request for DeleteShareGroupOffsetsRequest {
1095 const KEY: i16 = 92;
1096 type Response = DeleteShareGroupOffsetsResponse;
1097}
1098
1099#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1101pub enum ApiKey {
1102 Produce = 0,
1104 Fetch = 1,
1106 ListOffsets = 2,
1108 Metadata = 3,
1110 OffsetCommit = 8,
1112 OffsetFetch = 9,
1114 FindCoordinator = 10,
1116 JoinGroup = 11,
1118 Heartbeat = 12,
1120 LeaveGroup = 13,
1122 SyncGroup = 14,
1124 DescribeGroups = 15,
1126 ListGroups = 16,
1128 SaslHandshake = 17,
1130 ApiVersions = 18,
1132 CreateTopics = 19,
1134 DeleteTopics = 20,
1136 DeleteRecords = 21,
1138 InitProducerId = 22,
1140 OffsetForLeaderEpoch = 23,
1142 AddPartitionsToTxn = 24,
1144 AddOffsetsToTxn = 25,
1146 EndTxn = 26,
1148 WriteTxnMarkers = 27,
1150 TxnOffsetCommit = 28,
1152 DescribeAcls = 29,
1154 CreateAcls = 30,
1156 DeleteAcls = 31,
1158 DescribeConfigs = 32,
1160 AlterConfigs = 33,
1162 AlterReplicaLogDirs = 34,
1164 DescribeLogDirs = 35,
1166 SaslAuthenticate = 36,
1168 CreatePartitions = 37,
1170 CreateDelegationToken = 38,
1172 RenewDelegationToken = 39,
1174 ExpireDelegationToken = 40,
1176 DescribeDelegationToken = 41,
1178 DeleteGroups = 42,
1180 ElectLeaders = 43,
1182 IncrementalAlterConfigs = 44,
1184 AlterPartitionReassignments = 45,
1186 ListPartitionReassignments = 46,
1188 OffsetDelete = 47,
1190 DescribeClientQuotas = 48,
1192 AlterClientQuotas = 49,
1194 DescribeUserScramCredentials = 50,
1196 AlterUserScramCredentials = 51,
1198 Vote = 52,
1200 BeginQuorumEpoch = 53,
1202 EndQuorumEpoch = 54,
1204 DescribeQuorum = 55,
1206 AlterPartition = 56,
1208 UpdateFeatures = 57,
1210 Envelope = 58,
1212 FetchSnapshot = 59,
1214 DescribeCluster = 60,
1216 DescribeProducers = 61,
1218 BrokerRegistration = 62,
1220 BrokerHeartbeat = 63,
1222 UnregisterBroker = 64,
1224 DescribeTransactions = 65,
1226 ListTransactions = 66,
1228 AllocateProducerIds = 67,
1230 ConsumerGroupHeartbeat = 68,
1232 ConsumerGroupDescribe = 69,
1234 ControllerRegistration = 70,
1236 GetTelemetrySubscriptions = 71,
1238 PushTelemetry = 72,
1240 AssignReplicasToDirs = 73,
1242 ListConfigResources = 74,
1244 DescribeTopicPartitions = 75,
1246 ShareGroupHeartbeat = 76,
1248 ShareGroupDescribe = 77,
1250 ShareFetch = 78,
1252 ShareAcknowledge = 79,
1254 AddRaftVoter = 80,
1256 RemoveRaftVoter = 81,
1258 UpdateRaftVoter = 82,
1260 InitializeShareGroupState = 83,
1262 ReadShareGroupState = 84,
1264 WriteShareGroupState = 85,
1266 DeleteShareGroupState = 86,
1268 ReadShareGroupStateSummary = 87,
1270 DescribeShareGroupOffsets = 90,
1272 AlterShareGroupOffsets = 91,
1274 DeleteShareGroupOffsets = 92,
1276}
1277
1278impl ApiKey {
1279 pub fn request_header_version(&self, version: i16) -> i16 {
1281 match self {
1282 ApiKey::Produce => ProduceRequest::header_version(version),
1283 ApiKey::Fetch => FetchRequest::header_version(version),
1284 ApiKey::ListOffsets => ListOffsetsRequest::header_version(version),
1285 ApiKey::Metadata => MetadataRequest::header_version(version),
1286 ApiKey::OffsetCommit => OffsetCommitRequest::header_version(version),
1287 ApiKey::OffsetFetch => OffsetFetchRequest::header_version(version),
1288 ApiKey::FindCoordinator => FindCoordinatorRequest::header_version(version),
1289 ApiKey::JoinGroup => JoinGroupRequest::header_version(version),
1290 ApiKey::Heartbeat => HeartbeatRequest::header_version(version),
1291 ApiKey::LeaveGroup => LeaveGroupRequest::header_version(version),
1292 ApiKey::SyncGroup => SyncGroupRequest::header_version(version),
1293 ApiKey::DescribeGroups => DescribeGroupsRequest::header_version(version),
1294 ApiKey::ListGroups => ListGroupsRequest::header_version(version),
1295 ApiKey::SaslHandshake => SaslHandshakeRequest::header_version(version),
1296 ApiKey::ApiVersions => ApiVersionsRequest::header_version(version),
1297 ApiKey::CreateTopics => CreateTopicsRequest::header_version(version),
1298 ApiKey::DeleteTopics => DeleteTopicsRequest::header_version(version),
1299 ApiKey::DeleteRecords => DeleteRecordsRequest::header_version(version),
1300 ApiKey::InitProducerId => InitProducerIdRequest::header_version(version),
1301 ApiKey::OffsetForLeaderEpoch => OffsetForLeaderEpochRequest::header_version(version),
1302 ApiKey::AddPartitionsToTxn => AddPartitionsToTxnRequest::header_version(version),
1303 ApiKey::AddOffsetsToTxn => AddOffsetsToTxnRequest::header_version(version),
1304 ApiKey::EndTxn => EndTxnRequest::header_version(version),
1305 ApiKey::WriteTxnMarkers => WriteTxnMarkersRequest::header_version(version),
1306 ApiKey::TxnOffsetCommit => TxnOffsetCommitRequest::header_version(version),
1307 ApiKey::DescribeAcls => DescribeAclsRequest::header_version(version),
1308 ApiKey::CreateAcls => CreateAclsRequest::header_version(version),
1309 ApiKey::DeleteAcls => DeleteAclsRequest::header_version(version),
1310 ApiKey::DescribeConfigs => DescribeConfigsRequest::header_version(version),
1311 ApiKey::AlterConfigs => AlterConfigsRequest::header_version(version),
1312 ApiKey::AlterReplicaLogDirs => AlterReplicaLogDirsRequest::header_version(version),
1313 ApiKey::DescribeLogDirs => DescribeLogDirsRequest::header_version(version),
1314 ApiKey::SaslAuthenticate => SaslAuthenticateRequest::header_version(version),
1315 ApiKey::CreatePartitions => CreatePartitionsRequest::header_version(version),
1316 ApiKey::CreateDelegationToken => CreateDelegationTokenRequest::header_version(version),
1317 ApiKey::RenewDelegationToken => RenewDelegationTokenRequest::header_version(version),
1318 ApiKey::ExpireDelegationToken => ExpireDelegationTokenRequest::header_version(version),
1319 ApiKey::DescribeDelegationToken => {
1320 DescribeDelegationTokenRequest::header_version(version)
1321 }
1322 ApiKey::DeleteGroups => DeleteGroupsRequest::header_version(version),
1323 ApiKey::ElectLeaders => ElectLeadersRequest::header_version(version),
1324 ApiKey::IncrementalAlterConfigs => {
1325 IncrementalAlterConfigsRequest::header_version(version)
1326 }
1327 ApiKey::AlterPartitionReassignments => {
1328 AlterPartitionReassignmentsRequest::header_version(version)
1329 }
1330 ApiKey::ListPartitionReassignments => {
1331 ListPartitionReassignmentsRequest::header_version(version)
1332 }
1333 ApiKey::OffsetDelete => OffsetDeleteRequest::header_version(version),
1334 ApiKey::DescribeClientQuotas => DescribeClientQuotasRequest::header_version(version),
1335 ApiKey::AlterClientQuotas => AlterClientQuotasRequest::header_version(version),
1336 ApiKey::DescribeUserScramCredentials => {
1337 DescribeUserScramCredentialsRequest::header_version(version)
1338 }
1339 ApiKey::AlterUserScramCredentials => {
1340 AlterUserScramCredentialsRequest::header_version(version)
1341 }
1342 ApiKey::Vote => VoteRequest::header_version(version),
1343 ApiKey::BeginQuorumEpoch => BeginQuorumEpochRequest::header_version(version),
1344 ApiKey::EndQuorumEpoch => EndQuorumEpochRequest::header_version(version),
1345 ApiKey::DescribeQuorum => DescribeQuorumRequest::header_version(version),
1346 ApiKey::AlterPartition => AlterPartitionRequest::header_version(version),
1347 ApiKey::UpdateFeatures => UpdateFeaturesRequest::header_version(version),
1348 ApiKey::Envelope => EnvelopeRequest::header_version(version),
1349 ApiKey::FetchSnapshot => FetchSnapshotRequest::header_version(version),
1350 ApiKey::DescribeCluster => DescribeClusterRequest::header_version(version),
1351 ApiKey::DescribeProducers => DescribeProducersRequest::header_version(version),
1352 ApiKey::BrokerRegistration => BrokerRegistrationRequest::header_version(version),
1353 ApiKey::BrokerHeartbeat => BrokerHeartbeatRequest::header_version(version),
1354 ApiKey::UnregisterBroker => UnregisterBrokerRequest::header_version(version),
1355 ApiKey::DescribeTransactions => DescribeTransactionsRequest::header_version(version),
1356 ApiKey::ListTransactions => ListTransactionsRequest::header_version(version),
1357 ApiKey::AllocateProducerIds => AllocateProducerIdsRequest::header_version(version),
1358 ApiKey::ConsumerGroupHeartbeat => {
1359 ConsumerGroupHeartbeatRequest::header_version(version)
1360 }
1361 ApiKey::ConsumerGroupDescribe => ConsumerGroupDescribeRequest::header_version(version),
1362 ApiKey::ControllerRegistration => {
1363 ControllerRegistrationRequest::header_version(version)
1364 }
1365 ApiKey::GetTelemetrySubscriptions => {
1366 GetTelemetrySubscriptionsRequest::header_version(version)
1367 }
1368 ApiKey::PushTelemetry => PushTelemetryRequest::header_version(version),
1369 ApiKey::AssignReplicasToDirs => AssignReplicasToDirsRequest::header_version(version),
1370 ApiKey::ListConfigResources => ListConfigResourcesRequest::header_version(version),
1371 ApiKey::DescribeTopicPartitions => {
1372 DescribeTopicPartitionsRequest::header_version(version)
1373 }
1374 ApiKey::ShareGroupHeartbeat => ShareGroupHeartbeatRequest::header_version(version),
1375 ApiKey::ShareGroupDescribe => ShareGroupDescribeRequest::header_version(version),
1376 ApiKey::ShareFetch => ShareFetchRequest::header_version(version),
1377 ApiKey::ShareAcknowledge => ShareAcknowledgeRequest::header_version(version),
1378 ApiKey::AddRaftVoter => AddRaftVoterRequest::header_version(version),
1379 ApiKey::RemoveRaftVoter => RemoveRaftVoterRequest::header_version(version),
1380 ApiKey::UpdateRaftVoter => UpdateRaftVoterRequest::header_version(version),
1381 ApiKey::InitializeShareGroupState => {
1382 InitializeShareGroupStateRequest::header_version(version)
1383 }
1384 ApiKey::ReadShareGroupState => ReadShareGroupStateRequest::header_version(version),
1385 ApiKey::WriteShareGroupState => WriteShareGroupStateRequest::header_version(version),
1386 ApiKey::DeleteShareGroupState => DeleteShareGroupStateRequest::header_version(version),
1387 ApiKey::ReadShareGroupStateSummary => {
1388 ReadShareGroupStateSummaryRequest::header_version(version)
1389 }
1390 ApiKey::DescribeShareGroupOffsets => {
1391 DescribeShareGroupOffsetsRequest::header_version(version)
1392 }
1393 ApiKey::AlterShareGroupOffsets => {
1394 AlterShareGroupOffsetsRequest::header_version(version)
1395 }
1396 ApiKey::DeleteShareGroupOffsets => {
1397 DeleteShareGroupOffsetsRequest::header_version(version)
1398 }
1399 }
1400 }
1401 pub fn response_header_version(&self, version: i16) -> i16 {
1403 match self {
1404 ApiKey::Produce => ProduceResponse::header_version(version),
1405 ApiKey::Fetch => FetchResponse::header_version(version),
1406 ApiKey::ListOffsets => ListOffsetsResponse::header_version(version),
1407 ApiKey::Metadata => MetadataResponse::header_version(version),
1408 ApiKey::OffsetCommit => OffsetCommitResponse::header_version(version),
1409 ApiKey::OffsetFetch => OffsetFetchResponse::header_version(version),
1410 ApiKey::FindCoordinator => FindCoordinatorResponse::header_version(version),
1411 ApiKey::JoinGroup => JoinGroupResponse::header_version(version),
1412 ApiKey::Heartbeat => HeartbeatResponse::header_version(version),
1413 ApiKey::LeaveGroup => LeaveGroupResponse::header_version(version),
1414 ApiKey::SyncGroup => SyncGroupResponse::header_version(version),
1415 ApiKey::DescribeGroups => DescribeGroupsResponse::header_version(version),
1416 ApiKey::ListGroups => ListGroupsResponse::header_version(version),
1417 ApiKey::SaslHandshake => SaslHandshakeResponse::header_version(version),
1418 ApiKey::ApiVersions => ApiVersionsResponse::header_version(version),
1419 ApiKey::CreateTopics => CreateTopicsResponse::header_version(version),
1420 ApiKey::DeleteTopics => DeleteTopicsResponse::header_version(version),
1421 ApiKey::DeleteRecords => DeleteRecordsResponse::header_version(version),
1422 ApiKey::InitProducerId => InitProducerIdResponse::header_version(version),
1423 ApiKey::OffsetForLeaderEpoch => OffsetForLeaderEpochResponse::header_version(version),
1424 ApiKey::AddPartitionsToTxn => AddPartitionsToTxnResponse::header_version(version),
1425 ApiKey::AddOffsetsToTxn => AddOffsetsToTxnResponse::header_version(version),
1426 ApiKey::EndTxn => EndTxnResponse::header_version(version),
1427 ApiKey::WriteTxnMarkers => WriteTxnMarkersResponse::header_version(version),
1428 ApiKey::TxnOffsetCommit => TxnOffsetCommitResponse::header_version(version),
1429 ApiKey::DescribeAcls => DescribeAclsResponse::header_version(version),
1430 ApiKey::CreateAcls => CreateAclsResponse::header_version(version),
1431 ApiKey::DeleteAcls => DeleteAclsResponse::header_version(version),
1432 ApiKey::DescribeConfigs => DescribeConfigsResponse::header_version(version),
1433 ApiKey::AlterConfigs => AlterConfigsResponse::header_version(version),
1434 ApiKey::AlterReplicaLogDirs => AlterReplicaLogDirsResponse::header_version(version),
1435 ApiKey::DescribeLogDirs => DescribeLogDirsResponse::header_version(version),
1436 ApiKey::SaslAuthenticate => SaslAuthenticateResponse::header_version(version),
1437 ApiKey::CreatePartitions => CreatePartitionsResponse::header_version(version),
1438 ApiKey::CreateDelegationToken => CreateDelegationTokenResponse::header_version(version),
1439 ApiKey::RenewDelegationToken => RenewDelegationTokenResponse::header_version(version),
1440 ApiKey::ExpireDelegationToken => ExpireDelegationTokenResponse::header_version(version),
1441 ApiKey::DescribeDelegationToken => {
1442 DescribeDelegationTokenResponse::header_version(version)
1443 }
1444 ApiKey::DeleteGroups => DeleteGroupsResponse::header_version(version),
1445 ApiKey::ElectLeaders => ElectLeadersResponse::header_version(version),
1446 ApiKey::IncrementalAlterConfigs => {
1447 IncrementalAlterConfigsResponse::header_version(version)
1448 }
1449 ApiKey::AlterPartitionReassignments => {
1450 AlterPartitionReassignmentsResponse::header_version(version)
1451 }
1452 ApiKey::ListPartitionReassignments => {
1453 ListPartitionReassignmentsResponse::header_version(version)
1454 }
1455 ApiKey::OffsetDelete => OffsetDeleteResponse::header_version(version),
1456 ApiKey::DescribeClientQuotas => DescribeClientQuotasResponse::header_version(version),
1457 ApiKey::AlterClientQuotas => AlterClientQuotasResponse::header_version(version),
1458 ApiKey::DescribeUserScramCredentials => {
1459 DescribeUserScramCredentialsResponse::header_version(version)
1460 }
1461 ApiKey::AlterUserScramCredentials => {
1462 AlterUserScramCredentialsResponse::header_version(version)
1463 }
1464 ApiKey::Vote => VoteResponse::header_version(version),
1465 ApiKey::BeginQuorumEpoch => BeginQuorumEpochResponse::header_version(version),
1466 ApiKey::EndQuorumEpoch => EndQuorumEpochResponse::header_version(version),
1467 ApiKey::DescribeQuorum => DescribeQuorumResponse::header_version(version),
1468 ApiKey::AlterPartition => AlterPartitionResponse::header_version(version),
1469 ApiKey::UpdateFeatures => UpdateFeaturesResponse::header_version(version),
1470 ApiKey::Envelope => EnvelopeResponse::header_version(version),
1471 ApiKey::FetchSnapshot => FetchSnapshotResponse::header_version(version),
1472 ApiKey::DescribeCluster => DescribeClusterResponse::header_version(version),
1473 ApiKey::DescribeProducers => DescribeProducersResponse::header_version(version),
1474 ApiKey::BrokerRegistration => BrokerRegistrationResponse::header_version(version),
1475 ApiKey::BrokerHeartbeat => BrokerHeartbeatResponse::header_version(version),
1476 ApiKey::UnregisterBroker => UnregisterBrokerResponse::header_version(version),
1477 ApiKey::DescribeTransactions => DescribeTransactionsResponse::header_version(version),
1478 ApiKey::ListTransactions => ListTransactionsResponse::header_version(version),
1479 ApiKey::AllocateProducerIds => AllocateProducerIdsResponse::header_version(version),
1480 ApiKey::ConsumerGroupHeartbeat => {
1481 ConsumerGroupHeartbeatResponse::header_version(version)
1482 }
1483 ApiKey::ConsumerGroupDescribe => ConsumerGroupDescribeResponse::header_version(version),
1484 ApiKey::ControllerRegistration => {
1485 ControllerRegistrationResponse::header_version(version)
1486 }
1487 ApiKey::GetTelemetrySubscriptions => {
1488 GetTelemetrySubscriptionsResponse::header_version(version)
1489 }
1490 ApiKey::PushTelemetry => PushTelemetryResponse::header_version(version),
1491 ApiKey::AssignReplicasToDirs => AssignReplicasToDirsResponse::header_version(version),
1492 ApiKey::ListConfigResources => ListConfigResourcesResponse::header_version(version),
1493 ApiKey::DescribeTopicPartitions => {
1494 DescribeTopicPartitionsResponse::header_version(version)
1495 }
1496 ApiKey::ShareGroupHeartbeat => ShareGroupHeartbeatResponse::header_version(version),
1497 ApiKey::ShareGroupDescribe => ShareGroupDescribeResponse::header_version(version),
1498 ApiKey::ShareFetch => ShareFetchResponse::header_version(version),
1499 ApiKey::ShareAcknowledge => ShareAcknowledgeResponse::header_version(version),
1500 ApiKey::AddRaftVoter => AddRaftVoterResponse::header_version(version),
1501 ApiKey::RemoveRaftVoter => RemoveRaftVoterResponse::header_version(version),
1502 ApiKey::UpdateRaftVoter => UpdateRaftVoterResponse::header_version(version),
1503 ApiKey::InitializeShareGroupState => {
1504 InitializeShareGroupStateResponse::header_version(version)
1505 }
1506 ApiKey::ReadShareGroupState => ReadShareGroupStateResponse::header_version(version),
1507 ApiKey::WriteShareGroupState => WriteShareGroupStateResponse::header_version(version),
1508 ApiKey::DeleteShareGroupState => DeleteShareGroupStateResponse::header_version(version),
1509 ApiKey::ReadShareGroupStateSummary => {
1510 ReadShareGroupStateSummaryResponse::header_version(version)
1511 }
1512 ApiKey::DescribeShareGroupOffsets => {
1513 DescribeShareGroupOffsetsResponse::header_version(version)
1514 }
1515 ApiKey::AlterShareGroupOffsets => {
1516 AlterShareGroupOffsetsResponse::header_version(version)
1517 }
1518 ApiKey::DeleteShareGroupOffsets => {
1519 DeleteShareGroupOffsetsResponse::header_version(version)
1520 }
1521 }
1522 }
1523 pub fn valid_versions(&self) -> VersionRange {
1525 match self {
1526 ApiKey::Produce => VersionRange { min: 3, max: 13 },
1527 ApiKey::Fetch => VersionRange { min: 4, max: 18 },
1528 ApiKey::ListOffsets => VersionRange { min: 1, max: 10 },
1529 ApiKey::Metadata => VersionRange { min: 0, max: 13 },
1530 ApiKey::OffsetCommit => VersionRange { min: 2, max: 10 },
1531 ApiKey::OffsetFetch => VersionRange { min: 1, max: 10 },
1532 ApiKey::FindCoordinator => VersionRange { min: 0, max: 6 },
1533 ApiKey::JoinGroup => VersionRange { min: 0, max: 9 },
1534 ApiKey::Heartbeat => VersionRange { min: 0, max: 4 },
1535 ApiKey::LeaveGroup => VersionRange { min: 0, max: 5 },
1536 ApiKey::SyncGroup => VersionRange { min: 0, max: 5 },
1537 ApiKey::DescribeGroups => VersionRange { min: 0, max: 6 },
1538 ApiKey::ListGroups => VersionRange { min: 0, max: 5 },
1539 ApiKey::SaslHandshake => VersionRange { min: 0, max: 1 },
1540 ApiKey::ApiVersions => VersionRange { min: 0, max: 4 },
1541 ApiKey::CreateTopics => VersionRange { min: 2, max: 7 },
1542 ApiKey::DeleteTopics => VersionRange { min: 1, max: 6 },
1543 ApiKey::DeleteRecords => VersionRange { min: 0, max: 2 },
1544 ApiKey::InitProducerId => VersionRange { min: 0, max: 6 },
1545 ApiKey::OffsetForLeaderEpoch => VersionRange { min: 2, max: 4 },
1546 ApiKey::AddPartitionsToTxn => VersionRange { min: 0, max: 5 },
1547 ApiKey::AddOffsetsToTxn => VersionRange { min: 0, max: 4 },
1548 ApiKey::EndTxn => VersionRange { min: 0, max: 5 },
1549 ApiKey::WriteTxnMarkers => VersionRange { min: 1, max: 1 },
1550 ApiKey::TxnOffsetCommit => VersionRange { min: 0, max: 5 },
1551 ApiKey::DescribeAcls => VersionRange { min: 1, max: 3 },
1552 ApiKey::CreateAcls => VersionRange { min: 1, max: 3 },
1553 ApiKey::DeleteAcls => VersionRange { min: 1, max: 3 },
1554 ApiKey::DescribeConfigs => VersionRange { min: 1, max: 4 },
1555 ApiKey::AlterConfigs => VersionRange { min: 0, max: 2 },
1556 ApiKey::AlterReplicaLogDirs => VersionRange { min: 1, max: 2 },
1557 ApiKey::DescribeLogDirs => VersionRange { min: 1, max: 4 },
1558 ApiKey::SaslAuthenticate => VersionRange { min: 0, max: 2 },
1559 ApiKey::CreatePartitions => VersionRange { min: 0, max: 3 },
1560 ApiKey::CreateDelegationToken => VersionRange { min: 1, max: 3 },
1561 ApiKey::RenewDelegationToken => VersionRange { min: 1, max: 2 },
1562 ApiKey::ExpireDelegationToken => VersionRange { min: 1, max: 2 },
1563 ApiKey::DescribeDelegationToken => VersionRange { min: 1, max: 3 },
1564 ApiKey::DeleteGroups => VersionRange { min: 0, max: 2 },
1565 ApiKey::ElectLeaders => VersionRange { min: 0, max: 2 },
1566 ApiKey::IncrementalAlterConfigs => VersionRange { min: 0, max: 1 },
1567 ApiKey::AlterPartitionReassignments => VersionRange { min: 0, max: 1 },
1568 ApiKey::ListPartitionReassignments => VersionRange { min: 0, max: 0 },
1569 ApiKey::OffsetDelete => VersionRange { min: 0, max: 0 },
1570 ApiKey::DescribeClientQuotas => VersionRange { min: 0, max: 1 },
1571 ApiKey::AlterClientQuotas => VersionRange { min: 0, max: 1 },
1572 ApiKey::DescribeUserScramCredentials => VersionRange { min: 0, max: 0 },
1573 ApiKey::AlterUserScramCredentials => VersionRange { min: 0, max: 0 },
1574 ApiKey::Vote => VersionRange { min: 0, max: 2 },
1575 ApiKey::BeginQuorumEpoch => VersionRange { min: 0, max: 1 },
1576 ApiKey::EndQuorumEpoch => VersionRange { min: 0, max: 1 },
1577 ApiKey::DescribeQuorum => VersionRange { min: 0, max: 2 },
1578 ApiKey::AlterPartition => VersionRange { min: 2, max: 3 },
1579 ApiKey::UpdateFeatures => VersionRange { min: 0, max: 2 },
1580 ApiKey::Envelope => VersionRange { min: 0, max: 0 },
1581 ApiKey::FetchSnapshot => VersionRange { min: 0, max: 1 },
1582 ApiKey::DescribeCluster => VersionRange { min: 0, max: 2 },
1583 ApiKey::DescribeProducers => VersionRange { min: 0, max: 0 },
1584 ApiKey::BrokerRegistration => VersionRange { min: 0, max: 4 },
1585 ApiKey::BrokerHeartbeat => VersionRange { min: 0, max: 1 },
1586 ApiKey::UnregisterBroker => VersionRange { min: 0, max: 0 },
1587 ApiKey::DescribeTransactions => VersionRange { min: 0, max: 0 },
1588 ApiKey::ListTransactions => VersionRange { min: 0, max: 2 },
1589 ApiKey::AllocateProducerIds => VersionRange { min: 0, max: 0 },
1590 ApiKey::ConsumerGroupHeartbeat => VersionRange { min: 0, max: 1 },
1591 ApiKey::ConsumerGroupDescribe => VersionRange { min: 0, max: 1 },
1592 ApiKey::ControllerRegistration => VersionRange { min: 0, max: 0 },
1593 ApiKey::GetTelemetrySubscriptions => VersionRange { min: 0, max: 0 },
1594 ApiKey::PushTelemetry => VersionRange { min: 0, max: 0 },
1595 ApiKey::AssignReplicasToDirs => VersionRange { min: 0, max: 0 },
1596 ApiKey::ListConfigResources => VersionRange { min: 0, max: 1 },
1597 ApiKey::DescribeTopicPartitions => VersionRange { min: 0, max: 0 },
1598 ApiKey::ShareGroupHeartbeat => VersionRange { min: 1, max: 1 },
1599 ApiKey::ShareGroupDescribe => VersionRange { min: 1, max: 1 },
1600 ApiKey::ShareFetch => VersionRange { min: 1, max: 1 },
1601 ApiKey::ShareAcknowledge => VersionRange { min: 1, max: 1 },
1602 ApiKey::AddRaftVoter => VersionRange { min: 0, max: 0 },
1603 ApiKey::RemoveRaftVoter => VersionRange { min: 0, max: 0 },
1604 ApiKey::UpdateRaftVoter => VersionRange { min: 0, max: 0 },
1605 ApiKey::InitializeShareGroupState => VersionRange { min: 0, max: 0 },
1606 ApiKey::ReadShareGroupState => VersionRange { min: 0, max: 0 },
1607 ApiKey::WriteShareGroupState => VersionRange { min: 0, max: 0 },
1608 ApiKey::DeleteShareGroupState => VersionRange { min: 0, max: 0 },
1609 ApiKey::ReadShareGroupStateSummary => VersionRange { min: 0, max: 0 },
1610 ApiKey::DescribeShareGroupOffsets => VersionRange { min: 0, max: 0 },
1611 ApiKey::AlterShareGroupOffsets => VersionRange { min: 0, max: 0 },
1612 ApiKey::DeleteShareGroupOffsets => VersionRange { min: 0, max: 0 },
1613 }
1614 }
1615
1616 pub fn iter() -> impl Iterator<Item = ApiKey> {
1618 (0..i16::MAX).map_while(|i| ApiKey::try_from(i).ok())
1619 }
1620}
1621impl TryFrom<i16> for ApiKey {
1622 type Error = ();
1623
1624 fn try_from(v: i16) -> Result<Self, Self::Error> {
1625 match v {
1626 x if x == ApiKey::Produce as i16 => Ok(ApiKey::Produce),
1627 x if x == ApiKey::Fetch as i16 => Ok(ApiKey::Fetch),
1628 x if x == ApiKey::ListOffsets as i16 => Ok(ApiKey::ListOffsets),
1629 x if x == ApiKey::Metadata as i16 => Ok(ApiKey::Metadata),
1630 x if x == ApiKey::OffsetCommit as i16 => Ok(ApiKey::OffsetCommit),
1631 x if x == ApiKey::OffsetFetch as i16 => Ok(ApiKey::OffsetFetch),
1632 x if x == ApiKey::FindCoordinator as i16 => Ok(ApiKey::FindCoordinator),
1633 x if x == ApiKey::JoinGroup as i16 => Ok(ApiKey::JoinGroup),
1634 x if x == ApiKey::Heartbeat as i16 => Ok(ApiKey::Heartbeat),
1635 x if x == ApiKey::LeaveGroup as i16 => Ok(ApiKey::LeaveGroup),
1636 x if x == ApiKey::SyncGroup as i16 => Ok(ApiKey::SyncGroup),
1637 x if x == ApiKey::DescribeGroups as i16 => Ok(ApiKey::DescribeGroups),
1638 x if x == ApiKey::ListGroups as i16 => Ok(ApiKey::ListGroups),
1639 x if x == ApiKey::SaslHandshake as i16 => Ok(ApiKey::SaslHandshake),
1640 x if x == ApiKey::ApiVersions as i16 => Ok(ApiKey::ApiVersions),
1641 x if x == ApiKey::CreateTopics as i16 => Ok(ApiKey::CreateTopics),
1642 x if x == ApiKey::DeleteTopics as i16 => Ok(ApiKey::DeleteTopics),
1643 x if x == ApiKey::DeleteRecords as i16 => Ok(ApiKey::DeleteRecords),
1644 x if x == ApiKey::InitProducerId as i16 => Ok(ApiKey::InitProducerId),
1645 x if x == ApiKey::OffsetForLeaderEpoch as i16 => Ok(ApiKey::OffsetForLeaderEpoch),
1646 x if x == ApiKey::AddPartitionsToTxn as i16 => Ok(ApiKey::AddPartitionsToTxn),
1647 x if x == ApiKey::AddOffsetsToTxn as i16 => Ok(ApiKey::AddOffsetsToTxn),
1648 x if x == ApiKey::EndTxn as i16 => Ok(ApiKey::EndTxn),
1649 x if x == ApiKey::WriteTxnMarkers as i16 => Ok(ApiKey::WriteTxnMarkers),
1650 x if x == ApiKey::TxnOffsetCommit as i16 => Ok(ApiKey::TxnOffsetCommit),
1651 x if x == ApiKey::DescribeAcls as i16 => Ok(ApiKey::DescribeAcls),
1652 x if x == ApiKey::CreateAcls as i16 => Ok(ApiKey::CreateAcls),
1653 x if x == ApiKey::DeleteAcls as i16 => Ok(ApiKey::DeleteAcls),
1654 x if x == ApiKey::DescribeConfigs as i16 => Ok(ApiKey::DescribeConfigs),
1655 x if x == ApiKey::AlterConfigs as i16 => Ok(ApiKey::AlterConfigs),
1656 x if x == ApiKey::AlterReplicaLogDirs as i16 => Ok(ApiKey::AlterReplicaLogDirs),
1657 x if x == ApiKey::DescribeLogDirs as i16 => Ok(ApiKey::DescribeLogDirs),
1658 x if x == ApiKey::SaslAuthenticate as i16 => Ok(ApiKey::SaslAuthenticate),
1659 x if x == ApiKey::CreatePartitions as i16 => Ok(ApiKey::CreatePartitions),
1660 x if x == ApiKey::CreateDelegationToken as i16 => Ok(ApiKey::CreateDelegationToken),
1661 x if x == ApiKey::RenewDelegationToken as i16 => Ok(ApiKey::RenewDelegationToken),
1662 x if x == ApiKey::ExpireDelegationToken as i16 => Ok(ApiKey::ExpireDelegationToken),
1663 x if x == ApiKey::DescribeDelegationToken as i16 => Ok(ApiKey::DescribeDelegationToken),
1664 x if x == ApiKey::DeleteGroups as i16 => Ok(ApiKey::DeleteGroups),
1665 x if x == ApiKey::ElectLeaders as i16 => Ok(ApiKey::ElectLeaders),
1666 x if x == ApiKey::IncrementalAlterConfigs as i16 => Ok(ApiKey::IncrementalAlterConfigs),
1667 x if x == ApiKey::AlterPartitionReassignments as i16 => {
1668 Ok(ApiKey::AlterPartitionReassignments)
1669 }
1670 x if x == ApiKey::ListPartitionReassignments as i16 => {
1671 Ok(ApiKey::ListPartitionReassignments)
1672 }
1673 x if x == ApiKey::OffsetDelete as i16 => Ok(ApiKey::OffsetDelete),
1674 x if x == ApiKey::DescribeClientQuotas as i16 => Ok(ApiKey::DescribeClientQuotas),
1675 x if x == ApiKey::AlterClientQuotas as i16 => Ok(ApiKey::AlterClientQuotas),
1676 x if x == ApiKey::DescribeUserScramCredentials as i16 => {
1677 Ok(ApiKey::DescribeUserScramCredentials)
1678 }
1679 x if x == ApiKey::AlterUserScramCredentials as i16 => {
1680 Ok(ApiKey::AlterUserScramCredentials)
1681 }
1682 x if x == ApiKey::Vote as i16 => Ok(ApiKey::Vote),
1683 x if x == ApiKey::BeginQuorumEpoch as i16 => Ok(ApiKey::BeginQuorumEpoch),
1684 x if x == ApiKey::EndQuorumEpoch as i16 => Ok(ApiKey::EndQuorumEpoch),
1685 x if x == ApiKey::DescribeQuorum as i16 => Ok(ApiKey::DescribeQuorum),
1686 x if x == ApiKey::AlterPartition as i16 => Ok(ApiKey::AlterPartition),
1687 x if x == ApiKey::UpdateFeatures as i16 => Ok(ApiKey::UpdateFeatures),
1688 x if x == ApiKey::Envelope as i16 => Ok(ApiKey::Envelope),
1689 x if x == ApiKey::FetchSnapshot as i16 => Ok(ApiKey::FetchSnapshot),
1690 x if x == ApiKey::DescribeCluster as i16 => Ok(ApiKey::DescribeCluster),
1691 x if x == ApiKey::DescribeProducers as i16 => Ok(ApiKey::DescribeProducers),
1692 x if x == ApiKey::BrokerRegistration as i16 => Ok(ApiKey::BrokerRegistration),
1693 x if x == ApiKey::BrokerHeartbeat as i16 => Ok(ApiKey::BrokerHeartbeat),
1694 x if x == ApiKey::UnregisterBroker as i16 => Ok(ApiKey::UnregisterBroker),
1695 x if x == ApiKey::DescribeTransactions as i16 => Ok(ApiKey::DescribeTransactions),
1696 x if x == ApiKey::ListTransactions as i16 => Ok(ApiKey::ListTransactions),
1697 x if x == ApiKey::AllocateProducerIds as i16 => Ok(ApiKey::AllocateProducerIds),
1698 x if x == ApiKey::ConsumerGroupHeartbeat as i16 => Ok(ApiKey::ConsumerGroupHeartbeat),
1699 x if x == ApiKey::ConsumerGroupDescribe as i16 => Ok(ApiKey::ConsumerGroupDescribe),
1700 x if x == ApiKey::ControllerRegistration as i16 => Ok(ApiKey::ControllerRegistration),
1701 x if x == ApiKey::GetTelemetrySubscriptions as i16 => {
1702 Ok(ApiKey::GetTelemetrySubscriptions)
1703 }
1704 x if x == ApiKey::PushTelemetry as i16 => Ok(ApiKey::PushTelemetry),
1705 x if x == ApiKey::AssignReplicasToDirs as i16 => Ok(ApiKey::AssignReplicasToDirs),
1706 x if x == ApiKey::ListConfigResources as i16 => Ok(ApiKey::ListConfigResources),
1707 x if x == ApiKey::DescribeTopicPartitions as i16 => Ok(ApiKey::DescribeTopicPartitions),
1708 x if x == ApiKey::ShareGroupHeartbeat as i16 => Ok(ApiKey::ShareGroupHeartbeat),
1709 x if x == ApiKey::ShareGroupDescribe as i16 => Ok(ApiKey::ShareGroupDescribe),
1710 x if x == ApiKey::ShareFetch as i16 => Ok(ApiKey::ShareFetch),
1711 x if x == ApiKey::ShareAcknowledge as i16 => Ok(ApiKey::ShareAcknowledge),
1712 x if x == ApiKey::AddRaftVoter as i16 => Ok(ApiKey::AddRaftVoter),
1713 x if x == ApiKey::RemoveRaftVoter as i16 => Ok(ApiKey::RemoveRaftVoter),
1714 x if x == ApiKey::UpdateRaftVoter as i16 => Ok(ApiKey::UpdateRaftVoter),
1715 x if x == ApiKey::InitializeShareGroupState as i16 => {
1716 Ok(ApiKey::InitializeShareGroupState)
1717 }
1718 x if x == ApiKey::ReadShareGroupState as i16 => Ok(ApiKey::ReadShareGroupState),
1719 x if x == ApiKey::WriteShareGroupState as i16 => Ok(ApiKey::WriteShareGroupState),
1720 x if x == ApiKey::DeleteShareGroupState as i16 => Ok(ApiKey::DeleteShareGroupState),
1721 x if x == ApiKey::ReadShareGroupStateSummary as i16 => {
1722 Ok(ApiKey::ReadShareGroupStateSummary)
1723 }
1724 x if x == ApiKey::DescribeShareGroupOffsets as i16 => {
1725 Ok(ApiKey::DescribeShareGroupOffsets)
1726 }
1727 x if x == ApiKey::AlterShareGroupOffsets as i16 => Ok(ApiKey::AlterShareGroupOffsets),
1728 x if x == ApiKey::DeleteShareGroupOffsets as i16 => Ok(ApiKey::DeleteShareGroupOffsets),
1729 _ => Err(()),
1730 }
1731 }
1732}
1733
1734#[cfg(feature = "messages_enums")]
1736#[non_exhaustive]
1737#[derive(Debug, Clone, PartialEq)]
1738pub enum RequestKind {
1739 Produce(ProduceRequest),
1741 Fetch(FetchRequest),
1743 ListOffsets(ListOffsetsRequest),
1745 Metadata(MetadataRequest),
1747 OffsetCommit(OffsetCommitRequest),
1749 OffsetFetch(OffsetFetchRequest),
1751 FindCoordinator(FindCoordinatorRequest),
1753 JoinGroup(JoinGroupRequest),
1755 Heartbeat(HeartbeatRequest),
1757 LeaveGroup(LeaveGroupRequest),
1759 SyncGroup(SyncGroupRequest),
1761 DescribeGroups(DescribeGroupsRequest),
1763 ListGroups(ListGroupsRequest),
1765 SaslHandshake(SaslHandshakeRequest),
1767 ApiVersions(ApiVersionsRequest),
1769 CreateTopics(CreateTopicsRequest),
1771 DeleteTopics(DeleteTopicsRequest),
1773 DeleteRecords(DeleteRecordsRequest),
1775 InitProducerId(InitProducerIdRequest),
1777 OffsetForLeaderEpoch(OffsetForLeaderEpochRequest),
1779 AddPartitionsToTxn(AddPartitionsToTxnRequest),
1781 AddOffsetsToTxn(AddOffsetsToTxnRequest),
1783 EndTxn(EndTxnRequest),
1785 WriteTxnMarkers(WriteTxnMarkersRequest),
1787 TxnOffsetCommit(TxnOffsetCommitRequest),
1789 DescribeAcls(DescribeAclsRequest),
1791 CreateAcls(CreateAclsRequest),
1793 DeleteAcls(DeleteAclsRequest),
1795 DescribeConfigs(DescribeConfigsRequest),
1797 AlterConfigs(AlterConfigsRequest),
1799 AlterReplicaLogDirs(AlterReplicaLogDirsRequest),
1801 DescribeLogDirs(DescribeLogDirsRequest),
1803 SaslAuthenticate(SaslAuthenticateRequest),
1805 CreatePartitions(CreatePartitionsRequest),
1807 CreateDelegationToken(CreateDelegationTokenRequest),
1809 RenewDelegationToken(RenewDelegationTokenRequest),
1811 ExpireDelegationToken(ExpireDelegationTokenRequest),
1813 DescribeDelegationToken(DescribeDelegationTokenRequest),
1815 DeleteGroups(DeleteGroupsRequest),
1817 ElectLeaders(ElectLeadersRequest),
1819 IncrementalAlterConfigs(IncrementalAlterConfigsRequest),
1821 AlterPartitionReassignments(AlterPartitionReassignmentsRequest),
1823 ListPartitionReassignments(ListPartitionReassignmentsRequest),
1825 OffsetDelete(OffsetDeleteRequest),
1827 DescribeClientQuotas(DescribeClientQuotasRequest),
1829 AlterClientQuotas(AlterClientQuotasRequest),
1831 DescribeUserScramCredentials(DescribeUserScramCredentialsRequest),
1833 AlterUserScramCredentials(AlterUserScramCredentialsRequest),
1835 Vote(VoteRequest),
1837 BeginQuorumEpoch(BeginQuorumEpochRequest),
1839 EndQuorumEpoch(EndQuorumEpochRequest),
1841 DescribeQuorum(DescribeQuorumRequest),
1843 AlterPartition(AlterPartitionRequest),
1845 UpdateFeatures(UpdateFeaturesRequest),
1847 Envelope(EnvelopeRequest),
1849 FetchSnapshot(FetchSnapshotRequest),
1851 DescribeCluster(DescribeClusterRequest),
1853 DescribeProducers(DescribeProducersRequest),
1855 BrokerRegistration(BrokerRegistrationRequest),
1857 BrokerHeartbeat(BrokerHeartbeatRequest),
1859 UnregisterBroker(UnregisterBrokerRequest),
1861 DescribeTransactions(DescribeTransactionsRequest),
1863 ListTransactions(ListTransactionsRequest),
1865 AllocateProducerIds(AllocateProducerIdsRequest),
1867 ConsumerGroupHeartbeat(ConsumerGroupHeartbeatRequest),
1869 ConsumerGroupDescribe(ConsumerGroupDescribeRequest),
1871 ControllerRegistration(ControllerRegistrationRequest),
1873 GetTelemetrySubscriptions(GetTelemetrySubscriptionsRequest),
1875 PushTelemetry(PushTelemetryRequest),
1877 AssignReplicasToDirs(AssignReplicasToDirsRequest),
1879 ListConfigResources(ListConfigResourcesRequest),
1881 DescribeTopicPartitions(DescribeTopicPartitionsRequest),
1883 ShareGroupHeartbeat(ShareGroupHeartbeatRequest),
1885 ShareGroupDescribe(ShareGroupDescribeRequest),
1887 ShareFetch(ShareFetchRequest),
1889 ShareAcknowledge(ShareAcknowledgeRequest),
1891 AddRaftVoter(AddRaftVoterRequest),
1893 RemoveRaftVoter(RemoveRaftVoterRequest),
1895 UpdateRaftVoter(UpdateRaftVoterRequest),
1897 InitializeShareGroupState(InitializeShareGroupStateRequest),
1899 ReadShareGroupState(ReadShareGroupStateRequest),
1901 WriteShareGroupState(WriteShareGroupStateRequest),
1903 DeleteShareGroupState(DeleteShareGroupStateRequest),
1905 ReadShareGroupStateSummary(ReadShareGroupStateSummaryRequest),
1907 DescribeShareGroupOffsets(DescribeShareGroupOffsetsRequest),
1909 AlterShareGroupOffsets(AlterShareGroupOffsetsRequest),
1911 DeleteShareGroupOffsets(DeleteShareGroupOffsetsRequest),
1913}
1914
1915#[cfg(feature = "messages_enums")]
1916impl RequestKind {
1917 #[cfg(feature = "client")]
1919 pub fn encode(&self, bytes: &mut bytes::BytesMut, version: i16) -> anyhow::Result<()> {
1920 match self {
1921 RequestKind::Produce(x) => encode(x, bytes, version),
1922 RequestKind::Fetch(x) => encode(x, bytes, version),
1923 RequestKind::ListOffsets(x) => encode(x, bytes, version),
1924 RequestKind::Metadata(x) => encode(x, bytes, version),
1925 RequestKind::OffsetCommit(x) => encode(x, bytes, version),
1926 RequestKind::OffsetFetch(x) => encode(x, bytes, version),
1927 RequestKind::FindCoordinator(x) => encode(x, bytes, version),
1928 RequestKind::JoinGroup(x) => encode(x, bytes, version),
1929 RequestKind::Heartbeat(x) => encode(x, bytes, version),
1930 RequestKind::LeaveGroup(x) => encode(x, bytes, version),
1931 RequestKind::SyncGroup(x) => encode(x, bytes, version),
1932 RequestKind::DescribeGroups(x) => encode(x, bytes, version),
1933 RequestKind::ListGroups(x) => encode(x, bytes, version),
1934 RequestKind::SaslHandshake(x) => encode(x, bytes, version),
1935 RequestKind::ApiVersions(x) => encode(x, bytes, version),
1936 RequestKind::CreateTopics(x) => encode(x, bytes, version),
1937 RequestKind::DeleteTopics(x) => encode(x, bytes, version),
1938 RequestKind::DeleteRecords(x) => encode(x, bytes, version),
1939 RequestKind::InitProducerId(x) => encode(x, bytes, version),
1940 RequestKind::OffsetForLeaderEpoch(x) => encode(x, bytes, version),
1941 RequestKind::AddPartitionsToTxn(x) => encode(x, bytes, version),
1942 RequestKind::AddOffsetsToTxn(x) => encode(x, bytes, version),
1943 RequestKind::EndTxn(x) => encode(x, bytes, version),
1944 RequestKind::WriteTxnMarkers(x) => encode(x, bytes, version),
1945 RequestKind::TxnOffsetCommit(x) => encode(x, bytes, version),
1946 RequestKind::DescribeAcls(x) => encode(x, bytes, version),
1947 RequestKind::CreateAcls(x) => encode(x, bytes, version),
1948 RequestKind::DeleteAcls(x) => encode(x, bytes, version),
1949 RequestKind::DescribeConfigs(x) => encode(x, bytes, version),
1950 RequestKind::AlterConfigs(x) => encode(x, bytes, version),
1951 RequestKind::AlterReplicaLogDirs(x) => encode(x, bytes, version),
1952 RequestKind::DescribeLogDirs(x) => encode(x, bytes, version),
1953 RequestKind::SaslAuthenticate(x) => encode(x, bytes, version),
1954 RequestKind::CreatePartitions(x) => encode(x, bytes, version),
1955 RequestKind::CreateDelegationToken(x) => encode(x, bytes, version),
1956 RequestKind::RenewDelegationToken(x) => encode(x, bytes, version),
1957 RequestKind::ExpireDelegationToken(x) => encode(x, bytes, version),
1958 RequestKind::DescribeDelegationToken(x) => encode(x, bytes, version),
1959 RequestKind::DeleteGroups(x) => encode(x, bytes, version),
1960 RequestKind::ElectLeaders(x) => encode(x, bytes, version),
1961 RequestKind::IncrementalAlterConfigs(x) => encode(x, bytes, version),
1962 RequestKind::AlterPartitionReassignments(x) => encode(x, bytes, version),
1963 RequestKind::ListPartitionReassignments(x) => encode(x, bytes, version),
1964 RequestKind::OffsetDelete(x) => encode(x, bytes, version),
1965 RequestKind::DescribeClientQuotas(x) => encode(x, bytes, version),
1966 RequestKind::AlterClientQuotas(x) => encode(x, bytes, version),
1967 RequestKind::DescribeUserScramCredentials(x) => encode(x, bytes, version),
1968 RequestKind::AlterUserScramCredentials(x) => encode(x, bytes, version),
1969 RequestKind::Vote(x) => encode(x, bytes, version),
1970 RequestKind::BeginQuorumEpoch(x) => encode(x, bytes, version),
1971 RequestKind::EndQuorumEpoch(x) => encode(x, bytes, version),
1972 RequestKind::DescribeQuorum(x) => encode(x, bytes, version),
1973 RequestKind::AlterPartition(x) => encode(x, bytes, version),
1974 RequestKind::UpdateFeatures(x) => encode(x, bytes, version),
1975 RequestKind::Envelope(x) => encode(x, bytes, version),
1976 RequestKind::FetchSnapshot(x) => encode(x, bytes, version),
1977 RequestKind::DescribeCluster(x) => encode(x, bytes, version),
1978 RequestKind::DescribeProducers(x) => encode(x, bytes, version),
1979 RequestKind::BrokerRegistration(x) => encode(x, bytes, version),
1980 RequestKind::BrokerHeartbeat(x) => encode(x, bytes, version),
1981 RequestKind::UnregisterBroker(x) => encode(x, bytes, version),
1982 RequestKind::DescribeTransactions(x) => encode(x, bytes, version),
1983 RequestKind::ListTransactions(x) => encode(x, bytes, version),
1984 RequestKind::AllocateProducerIds(x) => encode(x, bytes, version),
1985 RequestKind::ConsumerGroupHeartbeat(x) => encode(x, bytes, version),
1986 RequestKind::ConsumerGroupDescribe(x) => encode(x, bytes, version),
1987 RequestKind::ControllerRegistration(x) => encode(x, bytes, version),
1988 RequestKind::GetTelemetrySubscriptions(x) => encode(x, bytes, version),
1989 RequestKind::PushTelemetry(x) => encode(x, bytes, version),
1990 RequestKind::AssignReplicasToDirs(x) => encode(x, bytes, version),
1991 RequestKind::ListConfigResources(x) => encode(x, bytes, version),
1992 RequestKind::DescribeTopicPartitions(x) => encode(x, bytes, version),
1993 RequestKind::ShareGroupHeartbeat(x) => encode(x, bytes, version),
1994 RequestKind::ShareGroupDescribe(x) => encode(x, bytes, version),
1995 RequestKind::ShareFetch(x) => encode(x, bytes, version),
1996 RequestKind::ShareAcknowledge(x) => encode(x, bytes, version),
1997 RequestKind::AddRaftVoter(x) => encode(x, bytes, version),
1998 RequestKind::RemoveRaftVoter(x) => encode(x, bytes, version),
1999 RequestKind::UpdateRaftVoter(x) => encode(x, bytes, version),
2000 RequestKind::InitializeShareGroupState(x) => encode(x, bytes, version),
2001 RequestKind::ReadShareGroupState(x) => encode(x, bytes, version),
2002 RequestKind::WriteShareGroupState(x) => encode(x, bytes, version),
2003 RequestKind::DeleteShareGroupState(x) => encode(x, bytes, version),
2004 RequestKind::ReadShareGroupStateSummary(x) => encode(x, bytes, version),
2005 RequestKind::DescribeShareGroupOffsets(x) => encode(x, bytes, version),
2006 RequestKind::AlterShareGroupOffsets(x) => encode(x, bytes, version),
2007 RequestKind::DeleteShareGroupOffsets(x) => encode(x, bytes, version),
2008 }
2009 }
2010 #[cfg(feature = "broker")]
2012 pub fn decode(
2013 api_key: ApiKey,
2014 bytes: &mut bytes::Bytes,
2015 version: i16,
2016 ) -> anyhow::Result<RequestKind> {
2017 match api_key {
2018 ApiKey::Produce => Ok(RequestKind::Produce(decode(bytes, version)?)),
2019 ApiKey::Fetch => Ok(RequestKind::Fetch(decode(bytes, version)?)),
2020 ApiKey::ListOffsets => Ok(RequestKind::ListOffsets(decode(bytes, version)?)),
2021 ApiKey::Metadata => Ok(RequestKind::Metadata(decode(bytes, version)?)),
2022 ApiKey::OffsetCommit => Ok(RequestKind::OffsetCommit(decode(bytes, version)?)),
2023 ApiKey::OffsetFetch => Ok(RequestKind::OffsetFetch(decode(bytes, version)?)),
2024 ApiKey::FindCoordinator => Ok(RequestKind::FindCoordinator(decode(bytes, version)?)),
2025 ApiKey::JoinGroup => Ok(RequestKind::JoinGroup(decode(bytes, version)?)),
2026 ApiKey::Heartbeat => Ok(RequestKind::Heartbeat(decode(bytes, version)?)),
2027 ApiKey::LeaveGroup => Ok(RequestKind::LeaveGroup(decode(bytes, version)?)),
2028 ApiKey::SyncGroup => Ok(RequestKind::SyncGroup(decode(bytes, version)?)),
2029 ApiKey::DescribeGroups => Ok(RequestKind::DescribeGroups(decode(bytes, version)?)),
2030 ApiKey::ListGroups => Ok(RequestKind::ListGroups(decode(bytes, version)?)),
2031 ApiKey::SaslHandshake => Ok(RequestKind::SaslHandshake(decode(bytes, version)?)),
2032 ApiKey::ApiVersions => Ok(RequestKind::ApiVersions(decode(bytes, version)?)),
2033 ApiKey::CreateTopics => Ok(RequestKind::CreateTopics(decode(bytes, version)?)),
2034 ApiKey::DeleteTopics => Ok(RequestKind::DeleteTopics(decode(bytes, version)?)),
2035 ApiKey::DeleteRecords => Ok(RequestKind::DeleteRecords(decode(bytes, version)?)),
2036 ApiKey::InitProducerId => Ok(RequestKind::InitProducerId(decode(bytes, version)?)),
2037 ApiKey::OffsetForLeaderEpoch => {
2038 Ok(RequestKind::OffsetForLeaderEpoch(decode(bytes, version)?))
2039 }
2040 ApiKey::AddPartitionsToTxn => {
2041 Ok(RequestKind::AddPartitionsToTxn(decode(bytes, version)?))
2042 }
2043 ApiKey::AddOffsetsToTxn => Ok(RequestKind::AddOffsetsToTxn(decode(bytes, version)?)),
2044 ApiKey::EndTxn => Ok(RequestKind::EndTxn(decode(bytes, version)?)),
2045 ApiKey::WriteTxnMarkers => Ok(RequestKind::WriteTxnMarkers(decode(bytes, version)?)),
2046 ApiKey::TxnOffsetCommit => Ok(RequestKind::TxnOffsetCommit(decode(bytes, version)?)),
2047 ApiKey::DescribeAcls => Ok(RequestKind::DescribeAcls(decode(bytes, version)?)),
2048 ApiKey::CreateAcls => Ok(RequestKind::CreateAcls(decode(bytes, version)?)),
2049 ApiKey::DeleteAcls => Ok(RequestKind::DeleteAcls(decode(bytes, version)?)),
2050 ApiKey::DescribeConfigs => Ok(RequestKind::DescribeConfigs(decode(bytes, version)?)),
2051 ApiKey::AlterConfigs => Ok(RequestKind::AlterConfigs(decode(bytes, version)?)),
2052 ApiKey::AlterReplicaLogDirs => {
2053 Ok(RequestKind::AlterReplicaLogDirs(decode(bytes, version)?))
2054 }
2055 ApiKey::DescribeLogDirs => Ok(RequestKind::DescribeLogDirs(decode(bytes, version)?)),
2056 ApiKey::SaslAuthenticate => Ok(RequestKind::SaslAuthenticate(decode(bytes, version)?)),
2057 ApiKey::CreatePartitions => Ok(RequestKind::CreatePartitions(decode(bytes, version)?)),
2058 ApiKey::CreateDelegationToken => {
2059 Ok(RequestKind::CreateDelegationToken(decode(bytes, version)?))
2060 }
2061 ApiKey::RenewDelegationToken => {
2062 Ok(RequestKind::RenewDelegationToken(decode(bytes, version)?))
2063 }
2064 ApiKey::ExpireDelegationToken => {
2065 Ok(RequestKind::ExpireDelegationToken(decode(bytes, version)?))
2066 }
2067 ApiKey::DescribeDelegationToken => Ok(RequestKind::DescribeDelegationToken(decode(
2068 bytes, version,
2069 )?)),
2070 ApiKey::DeleteGroups => Ok(RequestKind::DeleteGroups(decode(bytes, version)?)),
2071 ApiKey::ElectLeaders => Ok(RequestKind::ElectLeaders(decode(bytes, version)?)),
2072 ApiKey::IncrementalAlterConfigs => Ok(RequestKind::IncrementalAlterConfigs(decode(
2073 bytes, version,
2074 )?)),
2075 ApiKey::AlterPartitionReassignments => Ok(RequestKind::AlterPartitionReassignments(
2076 decode(bytes, version)?,
2077 )),
2078 ApiKey::ListPartitionReassignments => Ok(RequestKind::ListPartitionReassignments(
2079 decode(bytes, version)?,
2080 )),
2081 ApiKey::OffsetDelete => Ok(RequestKind::OffsetDelete(decode(bytes, version)?)),
2082 ApiKey::DescribeClientQuotas => {
2083 Ok(RequestKind::DescribeClientQuotas(decode(bytes, version)?))
2084 }
2085 ApiKey::AlterClientQuotas => {
2086 Ok(RequestKind::AlterClientQuotas(decode(bytes, version)?))
2087 }
2088 ApiKey::DescribeUserScramCredentials => Ok(RequestKind::DescribeUserScramCredentials(
2089 decode(bytes, version)?,
2090 )),
2091 ApiKey::AlterUserScramCredentials => Ok(RequestKind::AlterUserScramCredentials(
2092 decode(bytes, version)?,
2093 )),
2094 ApiKey::Vote => Ok(RequestKind::Vote(decode(bytes, version)?)),
2095 ApiKey::BeginQuorumEpoch => Ok(RequestKind::BeginQuorumEpoch(decode(bytes, version)?)),
2096 ApiKey::EndQuorumEpoch => Ok(RequestKind::EndQuorumEpoch(decode(bytes, version)?)),
2097 ApiKey::DescribeQuorum => Ok(RequestKind::DescribeQuorum(decode(bytes, version)?)),
2098 ApiKey::AlterPartition => Ok(RequestKind::AlterPartition(decode(bytes, version)?)),
2099 ApiKey::UpdateFeatures => Ok(RequestKind::UpdateFeatures(decode(bytes, version)?)),
2100 ApiKey::Envelope => Ok(RequestKind::Envelope(decode(bytes, version)?)),
2101 ApiKey::FetchSnapshot => Ok(RequestKind::FetchSnapshot(decode(bytes, version)?)),
2102 ApiKey::DescribeCluster => Ok(RequestKind::DescribeCluster(decode(bytes, version)?)),
2103 ApiKey::DescribeProducers => {
2104 Ok(RequestKind::DescribeProducers(decode(bytes, version)?))
2105 }
2106 ApiKey::BrokerRegistration => {
2107 Ok(RequestKind::BrokerRegistration(decode(bytes, version)?))
2108 }
2109 ApiKey::BrokerHeartbeat => Ok(RequestKind::BrokerHeartbeat(decode(bytes, version)?)),
2110 ApiKey::UnregisterBroker => Ok(RequestKind::UnregisterBroker(decode(bytes, version)?)),
2111 ApiKey::DescribeTransactions => {
2112 Ok(RequestKind::DescribeTransactions(decode(bytes, version)?))
2113 }
2114 ApiKey::ListTransactions => Ok(RequestKind::ListTransactions(decode(bytes, version)?)),
2115 ApiKey::AllocateProducerIds => {
2116 Ok(RequestKind::AllocateProducerIds(decode(bytes, version)?))
2117 }
2118 ApiKey::ConsumerGroupHeartbeat => {
2119 Ok(RequestKind::ConsumerGroupHeartbeat(decode(bytes, version)?))
2120 }
2121 ApiKey::ConsumerGroupDescribe => {
2122 Ok(RequestKind::ConsumerGroupDescribe(decode(bytes, version)?))
2123 }
2124 ApiKey::ControllerRegistration => {
2125 Ok(RequestKind::ControllerRegistration(decode(bytes, version)?))
2126 }
2127 ApiKey::GetTelemetrySubscriptions => Ok(RequestKind::GetTelemetrySubscriptions(
2128 decode(bytes, version)?,
2129 )),
2130 ApiKey::PushTelemetry => Ok(RequestKind::PushTelemetry(decode(bytes, version)?)),
2131 ApiKey::AssignReplicasToDirs => {
2132 Ok(RequestKind::AssignReplicasToDirs(decode(bytes, version)?))
2133 }
2134 ApiKey::ListConfigResources => {
2135 Ok(RequestKind::ListConfigResources(decode(bytes, version)?))
2136 }
2137 ApiKey::DescribeTopicPartitions => Ok(RequestKind::DescribeTopicPartitions(decode(
2138 bytes, version,
2139 )?)),
2140 ApiKey::ShareGroupHeartbeat => {
2141 Ok(RequestKind::ShareGroupHeartbeat(decode(bytes, version)?))
2142 }
2143 ApiKey::ShareGroupDescribe => {
2144 Ok(RequestKind::ShareGroupDescribe(decode(bytes, version)?))
2145 }
2146 ApiKey::ShareFetch => Ok(RequestKind::ShareFetch(decode(bytes, version)?)),
2147 ApiKey::ShareAcknowledge => Ok(RequestKind::ShareAcknowledge(decode(bytes, version)?)),
2148 ApiKey::AddRaftVoter => Ok(RequestKind::AddRaftVoter(decode(bytes, version)?)),
2149 ApiKey::RemoveRaftVoter => Ok(RequestKind::RemoveRaftVoter(decode(bytes, version)?)),
2150 ApiKey::UpdateRaftVoter => Ok(RequestKind::UpdateRaftVoter(decode(bytes, version)?)),
2151 ApiKey::InitializeShareGroupState => Ok(RequestKind::InitializeShareGroupState(
2152 decode(bytes, version)?,
2153 )),
2154 ApiKey::ReadShareGroupState => {
2155 Ok(RequestKind::ReadShareGroupState(decode(bytes, version)?))
2156 }
2157 ApiKey::WriteShareGroupState => {
2158 Ok(RequestKind::WriteShareGroupState(decode(bytes, version)?))
2159 }
2160 ApiKey::DeleteShareGroupState => {
2161 Ok(RequestKind::DeleteShareGroupState(decode(bytes, version)?))
2162 }
2163 ApiKey::ReadShareGroupStateSummary => Ok(RequestKind::ReadShareGroupStateSummary(
2164 decode(bytes, version)?,
2165 )),
2166 ApiKey::DescribeShareGroupOffsets => Ok(RequestKind::DescribeShareGroupOffsets(
2167 decode(bytes, version)?,
2168 )),
2169 ApiKey::AlterShareGroupOffsets => {
2170 Ok(RequestKind::AlterShareGroupOffsets(decode(bytes, version)?))
2171 }
2172 ApiKey::DeleteShareGroupOffsets => Ok(RequestKind::DeleteShareGroupOffsets(decode(
2173 bytes, version,
2174 )?)),
2175 }
2176 }
2177}
2178#[cfg(feature = "messages_enums")]
2179impl From<ProduceRequest> for RequestKind {
2180 fn from(value: ProduceRequest) -> RequestKind {
2181 RequestKind::Produce(value)
2182 }
2183}
2184
2185#[cfg(feature = "messages_enums")]
2186impl From<FetchRequest> for RequestKind {
2187 fn from(value: FetchRequest) -> RequestKind {
2188 RequestKind::Fetch(value)
2189 }
2190}
2191
2192#[cfg(feature = "messages_enums")]
2193impl From<ListOffsetsRequest> for RequestKind {
2194 fn from(value: ListOffsetsRequest) -> RequestKind {
2195 RequestKind::ListOffsets(value)
2196 }
2197}
2198
2199#[cfg(feature = "messages_enums")]
2200impl From<MetadataRequest> for RequestKind {
2201 fn from(value: MetadataRequest) -> RequestKind {
2202 RequestKind::Metadata(value)
2203 }
2204}
2205
2206#[cfg(feature = "messages_enums")]
2207impl From<OffsetCommitRequest> for RequestKind {
2208 fn from(value: OffsetCommitRequest) -> RequestKind {
2209 RequestKind::OffsetCommit(value)
2210 }
2211}
2212
2213#[cfg(feature = "messages_enums")]
2214impl From<OffsetFetchRequest> for RequestKind {
2215 fn from(value: OffsetFetchRequest) -> RequestKind {
2216 RequestKind::OffsetFetch(value)
2217 }
2218}
2219
2220#[cfg(feature = "messages_enums")]
2221impl From<FindCoordinatorRequest> for RequestKind {
2222 fn from(value: FindCoordinatorRequest) -> RequestKind {
2223 RequestKind::FindCoordinator(value)
2224 }
2225}
2226
2227#[cfg(feature = "messages_enums")]
2228impl From<JoinGroupRequest> for RequestKind {
2229 fn from(value: JoinGroupRequest) -> RequestKind {
2230 RequestKind::JoinGroup(value)
2231 }
2232}
2233
2234#[cfg(feature = "messages_enums")]
2235impl From<HeartbeatRequest> for RequestKind {
2236 fn from(value: HeartbeatRequest) -> RequestKind {
2237 RequestKind::Heartbeat(value)
2238 }
2239}
2240
2241#[cfg(feature = "messages_enums")]
2242impl From<LeaveGroupRequest> for RequestKind {
2243 fn from(value: LeaveGroupRequest) -> RequestKind {
2244 RequestKind::LeaveGroup(value)
2245 }
2246}
2247
2248#[cfg(feature = "messages_enums")]
2249impl From<SyncGroupRequest> for RequestKind {
2250 fn from(value: SyncGroupRequest) -> RequestKind {
2251 RequestKind::SyncGroup(value)
2252 }
2253}
2254
2255#[cfg(feature = "messages_enums")]
2256impl From<DescribeGroupsRequest> for RequestKind {
2257 fn from(value: DescribeGroupsRequest) -> RequestKind {
2258 RequestKind::DescribeGroups(value)
2259 }
2260}
2261
2262#[cfg(feature = "messages_enums")]
2263impl From<ListGroupsRequest> for RequestKind {
2264 fn from(value: ListGroupsRequest) -> RequestKind {
2265 RequestKind::ListGroups(value)
2266 }
2267}
2268
2269#[cfg(feature = "messages_enums")]
2270impl From<SaslHandshakeRequest> for RequestKind {
2271 fn from(value: SaslHandshakeRequest) -> RequestKind {
2272 RequestKind::SaslHandshake(value)
2273 }
2274}
2275
2276#[cfg(feature = "messages_enums")]
2277impl From<ApiVersionsRequest> for RequestKind {
2278 fn from(value: ApiVersionsRequest) -> RequestKind {
2279 RequestKind::ApiVersions(value)
2280 }
2281}
2282
2283#[cfg(feature = "messages_enums")]
2284impl From<CreateTopicsRequest> for RequestKind {
2285 fn from(value: CreateTopicsRequest) -> RequestKind {
2286 RequestKind::CreateTopics(value)
2287 }
2288}
2289
2290#[cfg(feature = "messages_enums")]
2291impl From<DeleteTopicsRequest> for RequestKind {
2292 fn from(value: DeleteTopicsRequest) -> RequestKind {
2293 RequestKind::DeleteTopics(value)
2294 }
2295}
2296
2297#[cfg(feature = "messages_enums")]
2298impl From<DeleteRecordsRequest> for RequestKind {
2299 fn from(value: DeleteRecordsRequest) -> RequestKind {
2300 RequestKind::DeleteRecords(value)
2301 }
2302}
2303
2304#[cfg(feature = "messages_enums")]
2305impl From<InitProducerIdRequest> for RequestKind {
2306 fn from(value: InitProducerIdRequest) -> RequestKind {
2307 RequestKind::InitProducerId(value)
2308 }
2309}
2310
2311#[cfg(feature = "messages_enums")]
2312impl From<OffsetForLeaderEpochRequest> for RequestKind {
2313 fn from(value: OffsetForLeaderEpochRequest) -> RequestKind {
2314 RequestKind::OffsetForLeaderEpoch(value)
2315 }
2316}
2317
2318#[cfg(feature = "messages_enums")]
2319impl From<AddPartitionsToTxnRequest> for RequestKind {
2320 fn from(value: AddPartitionsToTxnRequest) -> RequestKind {
2321 RequestKind::AddPartitionsToTxn(value)
2322 }
2323}
2324
2325#[cfg(feature = "messages_enums")]
2326impl From<AddOffsetsToTxnRequest> for RequestKind {
2327 fn from(value: AddOffsetsToTxnRequest) -> RequestKind {
2328 RequestKind::AddOffsetsToTxn(value)
2329 }
2330}
2331
2332#[cfg(feature = "messages_enums")]
2333impl From<EndTxnRequest> for RequestKind {
2334 fn from(value: EndTxnRequest) -> RequestKind {
2335 RequestKind::EndTxn(value)
2336 }
2337}
2338
2339#[cfg(feature = "messages_enums")]
2340impl From<WriteTxnMarkersRequest> for RequestKind {
2341 fn from(value: WriteTxnMarkersRequest) -> RequestKind {
2342 RequestKind::WriteTxnMarkers(value)
2343 }
2344}
2345
2346#[cfg(feature = "messages_enums")]
2347impl From<TxnOffsetCommitRequest> for RequestKind {
2348 fn from(value: TxnOffsetCommitRequest) -> RequestKind {
2349 RequestKind::TxnOffsetCommit(value)
2350 }
2351}
2352
2353#[cfg(feature = "messages_enums")]
2354impl From<DescribeAclsRequest> for RequestKind {
2355 fn from(value: DescribeAclsRequest) -> RequestKind {
2356 RequestKind::DescribeAcls(value)
2357 }
2358}
2359
2360#[cfg(feature = "messages_enums")]
2361impl From<CreateAclsRequest> for RequestKind {
2362 fn from(value: CreateAclsRequest) -> RequestKind {
2363 RequestKind::CreateAcls(value)
2364 }
2365}
2366
2367#[cfg(feature = "messages_enums")]
2368impl From<DeleteAclsRequest> for RequestKind {
2369 fn from(value: DeleteAclsRequest) -> RequestKind {
2370 RequestKind::DeleteAcls(value)
2371 }
2372}
2373
2374#[cfg(feature = "messages_enums")]
2375impl From<DescribeConfigsRequest> for RequestKind {
2376 fn from(value: DescribeConfigsRequest) -> RequestKind {
2377 RequestKind::DescribeConfigs(value)
2378 }
2379}
2380
2381#[cfg(feature = "messages_enums")]
2382impl From<AlterConfigsRequest> for RequestKind {
2383 fn from(value: AlterConfigsRequest) -> RequestKind {
2384 RequestKind::AlterConfigs(value)
2385 }
2386}
2387
2388#[cfg(feature = "messages_enums")]
2389impl From<AlterReplicaLogDirsRequest> for RequestKind {
2390 fn from(value: AlterReplicaLogDirsRequest) -> RequestKind {
2391 RequestKind::AlterReplicaLogDirs(value)
2392 }
2393}
2394
2395#[cfg(feature = "messages_enums")]
2396impl From<DescribeLogDirsRequest> for RequestKind {
2397 fn from(value: DescribeLogDirsRequest) -> RequestKind {
2398 RequestKind::DescribeLogDirs(value)
2399 }
2400}
2401
2402#[cfg(feature = "messages_enums")]
2403impl From<SaslAuthenticateRequest> for RequestKind {
2404 fn from(value: SaslAuthenticateRequest) -> RequestKind {
2405 RequestKind::SaslAuthenticate(value)
2406 }
2407}
2408
2409#[cfg(feature = "messages_enums")]
2410impl From<CreatePartitionsRequest> for RequestKind {
2411 fn from(value: CreatePartitionsRequest) -> RequestKind {
2412 RequestKind::CreatePartitions(value)
2413 }
2414}
2415
2416#[cfg(feature = "messages_enums")]
2417impl From<CreateDelegationTokenRequest> for RequestKind {
2418 fn from(value: CreateDelegationTokenRequest) -> RequestKind {
2419 RequestKind::CreateDelegationToken(value)
2420 }
2421}
2422
2423#[cfg(feature = "messages_enums")]
2424impl From<RenewDelegationTokenRequest> for RequestKind {
2425 fn from(value: RenewDelegationTokenRequest) -> RequestKind {
2426 RequestKind::RenewDelegationToken(value)
2427 }
2428}
2429
2430#[cfg(feature = "messages_enums")]
2431impl From<ExpireDelegationTokenRequest> for RequestKind {
2432 fn from(value: ExpireDelegationTokenRequest) -> RequestKind {
2433 RequestKind::ExpireDelegationToken(value)
2434 }
2435}
2436
2437#[cfg(feature = "messages_enums")]
2438impl From<DescribeDelegationTokenRequest> for RequestKind {
2439 fn from(value: DescribeDelegationTokenRequest) -> RequestKind {
2440 RequestKind::DescribeDelegationToken(value)
2441 }
2442}
2443
2444#[cfg(feature = "messages_enums")]
2445impl From<DeleteGroupsRequest> for RequestKind {
2446 fn from(value: DeleteGroupsRequest) -> RequestKind {
2447 RequestKind::DeleteGroups(value)
2448 }
2449}
2450
2451#[cfg(feature = "messages_enums")]
2452impl From<ElectLeadersRequest> for RequestKind {
2453 fn from(value: ElectLeadersRequest) -> RequestKind {
2454 RequestKind::ElectLeaders(value)
2455 }
2456}
2457
2458#[cfg(feature = "messages_enums")]
2459impl From<IncrementalAlterConfigsRequest> for RequestKind {
2460 fn from(value: IncrementalAlterConfigsRequest) -> RequestKind {
2461 RequestKind::IncrementalAlterConfigs(value)
2462 }
2463}
2464
2465#[cfg(feature = "messages_enums")]
2466impl From<AlterPartitionReassignmentsRequest> for RequestKind {
2467 fn from(value: AlterPartitionReassignmentsRequest) -> RequestKind {
2468 RequestKind::AlterPartitionReassignments(value)
2469 }
2470}
2471
2472#[cfg(feature = "messages_enums")]
2473impl From<ListPartitionReassignmentsRequest> for RequestKind {
2474 fn from(value: ListPartitionReassignmentsRequest) -> RequestKind {
2475 RequestKind::ListPartitionReassignments(value)
2476 }
2477}
2478
2479#[cfg(feature = "messages_enums")]
2480impl From<OffsetDeleteRequest> for RequestKind {
2481 fn from(value: OffsetDeleteRequest) -> RequestKind {
2482 RequestKind::OffsetDelete(value)
2483 }
2484}
2485
2486#[cfg(feature = "messages_enums")]
2487impl From<DescribeClientQuotasRequest> for RequestKind {
2488 fn from(value: DescribeClientQuotasRequest) -> RequestKind {
2489 RequestKind::DescribeClientQuotas(value)
2490 }
2491}
2492
2493#[cfg(feature = "messages_enums")]
2494impl From<AlterClientQuotasRequest> for RequestKind {
2495 fn from(value: AlterClientQuotasRequest) -> RequestKind {
2496 RequestKind::AlterClientQuotas(value)
2497 }
2498}
2499
2500#[cfg(feature = "messages_enums")]
2501impl From<DescribeUserScramCredentialsRequest> for RequestKind {
2502 fn from(value: DescribeUserScramCredentialsRequest) -> RequestKind {
2503 RequestKind::DescribeUserScramCredentials(value)
2504 }
2505}
2506
2507#[cfg(feature = "messages_enums")]
2508impl From<AlterUserScramCredentialsRequest> for RequestKind {
2509 fn from(value: AlterUserScramCredentialsRequest) -> RequestKind {
2510 RequestKind::AlterUserScramCredentials(value)
2511 }
2512}
2513
2514#[cfg(feature = "messages_enums")]
2515impl From<VoteRequest> for RequestKind {
2516 fn from(value: VoteRequest) -> RequestKind {
2517 RequestKind::Vote(value)
2518 }
2519}
2520
2521#[cfg(feature = "messages_enums")]
2522impl From<BeginQuorumEpochRequest> for RequestKind {
2523 fn from(value: BeginQuorumEpochRequest) -> RequestKind {
2524 RequestKind::BeginQuorumEpoch(value)
2525 }
2526}
2527
2528#[cfg(feature = "messages_enums")]
2529impl From<EndQuorumEpochRequest> for RequestKind {
2530 fn from(value: EndQuorumEpochRequest) -> RequestKind {
2531 RequestKind::EndQuorumEpoch(value)
2532 }
2533}
2534
2535#[cfg(feature = "messages_enums")]
2536impl From<DescribeQuorumRequest> for RequestKind {
2537 fn from(value: DescribeQuorumRequest) -> RequestKind {
2538 RequestKind::DescribeQuorum(value)
2539 }
2540}
2541
2542#[cfg(feature = "messages_enums")]
2543impl From<AlterPartitionRequest> for RequestKind {
2544 fn from(value: AlterPartitionRequest) -> RequestKind {
2545 RequestKind::AlterPartition(value)
2546 }
2547}
2548
2549#[cfg(feature = "messages_enums")]
2550impl From<UpdateFeaturesRequest> for RequestKind {
2551 fn from(value: UpdateFeaturesRequest) -> RequestKind {
2552 RequestKind::UpdateFeatures(value)
2553 }
2554}
2555
2556#[cfg(feature = "messages_enums")]
2557impl From<EnvelopeRequest> for RequestKind {
2558 fn from(value: EnvelopeRequest) -> RequestKind {
2559 RequestKind::Envelope(value)
2560 }
2561}
2562
2563#[cfg(feature = "messages_enums")]
2564impl From<FetchSnapshotRequest> for RequestKind {
2565 fn from(value: FetchSnapshotRequest) -> RequestKind {
2566 RequestKind::FetchSnapshot(value)
2567 }
2568}
2569
2570#[cfg(feature = "messages_enums")]
2571impl From<DescribeClusterRequest> for RequestKind {
2572 fn from(value: DescribeClusterRequest) -> RequestKind {
2573 RequestKind::DescribeCluster(value)
2574 }
2575}
2576
2577#[cfg(feature = "messages_enums")]
2578impl From<DescribeProducersRequest> for RequestKind {
2579 fn from(value: DescribeProducersRequest) -> RequestKind {
2580 RequestKind::DescribeProducers(value)
2581 }
2582}
2583
2584#[cfg(feature = "messages_enums")]
2585impl From<BrokerRegistrationRequest> for RequestKind {
2586 fn from(value: BrokerRegistrationRequest) -> RequestKind {
2587 RequestKind::BrokerRegistration(value)
2588 }
2589}
2590
2591#[cfg(feature = "messages_enums")]
2592impl From<BrokerHeartbeatRequest> for RequestKind {
2593 fn from(value: BrokerHeartbeatRequest) -> RequestKind {
2594 RequestKind::BrokerHeartbeat(value)
2595 }
2596}
2597
2598#[cfg(feature = "messages_enums")]
2599impl From<UnregisterBrokerRequest> for RequestKind {
2600 fn from(value: UnregisterBrokerRequest) -> RequestKind {
2601 RequestKind::UnregisterBroker(value)
2602 }
2603}
2604
2605#[cfg(feature = "messages_enums")]
2606impl From<DescribeTransactionsRequest> for RequestKind {
2607 fn from(value: DescribeTransactionsRequest) -> RequestKind {
2608 RequestKind::DescribeTransactions(value)
2609 }
2610}
2611
2612#[cfg(feature = "messages_enums")]
2613impl From<ListTransactionsRequest> for RequestKind {
2614 fn from(value: ListTransactionsRequest) -> RequestKind {
2615 RequestKind::ListTransactions(value)
2616 }
2617}
2618
2619#[cfg(feature = "messages_enums")]
2620impl From<AllocateProducerIdsRequest> for RequestKind {
2621 fn from(value: AllocateProducerIdsRequest) -> RequestKind {
2622 RequestKind::AllocateProducerIds(value)
2623 }
2624}
2625
2626#[cfg(feature = "messages_enums")]
2627impl From<ConsumerGroupHeartbeatRequest> for RequestKind {
2628 fn from(value: ConsumerGroupHeartbeatRequest) -> RequestKind {
2629 RequestKind::ConsumerGroupHeartbeat(value)
2630 }
2631}
2632
2633#[cfg(feature = "messages_enums")]
2634impl From<ConsumerGroupDescribeRequest> for RequestKind {
2635 fn from(value: ConsumerGroupDescribeRequest) -> RequestKind {
2636 RequestKind::ConsumerGroupDescribe(value)
2637 }
2638}
2639
2640#[cfg(feature = "messages_enums")]
2641impl From<ControllerRegistrationRequest> for RequestKind {
2642 fn from(value: ControllerRegistrationRequest) -> RequestKind {
2643 RequestKind::ControllerRegistration(value)
2644 }
2645}
2646
2647#[cfg(feature = "messages_enums")]
2648impl From<GetTelemetrySubscriptionsRequest> for RequestKind {
2649 fn from(value: GetTelemetrySubscriptionsRequest) -> RequestKind {
2650 RequestKind::GetTelemetrySubscriptions(value)
2651 }
2652}
2653
2654#[cfg(feature = "messages_enums")]
2655impl From<PushTelemetryRequest> for RequestKind {
2656 fn from(value: PushTelemetryRequest) -> RequestKind {
2657 RequestKind::PushTelemetry(value)
2658 }
2659}
2660
2661#[cfg(feature = "messages_enums")]
2662impl From<AssignReplicasToDirsRequest> for RequestKind {
2663 fn from(value: AssignReplicasToDirsRequest) -> RequestKind {
2664 RequestKind::AssignReplicasToDirs(value)
2665 }
2666}
2667
2668#[cfg(feature = "messages_enums")]
2669impl From<ListConfigResourcesRequest> for RequestKind {
2670 fn from(value: ListConfigResourcesRequest) -> RequestKind {
2671 RequestKind::ListConfigResources(value)
2672 }
2673}
2674
2675#[cfg(feature = "messages_enums")]
2676impl From<DescribeTopicPartitionsRequest> for RequestKind {
2677 fn from(value: DescribeTopicPartitionsRequest) -> RequestKind {
2678 RequestKind::DescribeTopicPartitions(value)
2679 }
2680}
2681
2682#[cfg(feature = "messages_enums")]
2683impl From<ShareGroupHeartbeatRequest> for RequestKind {
2684 fn from(value: ShareGroupHeartbeatRequest) -> RequestKind {
2685 RequestKind::ShareGroupHeartbeat(value)
2686 }
2687}
2688
2689#[cfg(feature = "messages_enums")]
2690impl From<ShareGroupDescribeRequest> for RequestKind {
2691 fn from(value: ShareGroupDescribeRequest) -> RequestKind {
2692 RequestKind::ShareGroupDescribe(value)
2693 }
2694}
2695
2696#[cfg(feature = "messages_enums")]
2697impl From<ShareFetchRequest> for RequestKind {
2698 fn from(value: ShareFetchRequest) -> RequestKind {
2699 RequestKind::ShareFetch(value)
2700 }
2701}
2702
2703#[cfg(feature = "messages_enums")]
2704impl From<ShareAcknowledgeRequest> for RequestKind {
2705 fn from(value: ShareAcknowledgeRequest) -> RequestKind {
2706 RequestKind::ShareAcknowledge(value)
2707 }
2708}
2709
2710#[cfg(feature = "messages_enums")]
2711impl From<AddRaftVoterRequest> for RequestKind {
2712 fn from(value: AddRaftVoterRequest) -> RequestKind {
2713 RequestKind::AddRaftVoter(value)
2714 }
2715}
2716
2717#[cfg(feature = "messages_enums")]
2718impl From<RemoveRaftVoterRequest> for RequestKind {
2719 fn from(value: RemoveRaftVoterRequest) -> RequestKind {
2720 RequestKind::RemoveRaftVoter(value)
2721 }
2722}
2723
2724#[cfg(feature = "messages_enums")]
2725impl From<UpdateRaftVoterRequest> for RequestKind {
2726 fn from(value: UpdateRaftVoterRequest) -> RequestKind {
2727 RequestKind::UpdateRaftVoter(value)
2728 }
2729}
2730
2731#[cfg(feature = "messages_enums")]
2732impl From<InitializeShareGroupStateRequest> for RequestKind {
2733 fn from(value: InitializeShareGroupStateRequest) -> RequestKind {
2734 RequestKind::InitializeShareGroupState(value)
2735 }
2736}
2737
2738#[cfg(feature = "messages_enums")]
2739impl From<ReadShareGroupStateRequest> for RequestKind {
2740 fn from(value: ReadShareGroupStateRequest) -> RequestKind {
2741 RequestKind::ReadShareGroupState(value)
2742 }
2743}
2744
2745#[cfg(feature = "messages_enums")]
2746impl From<WriteShareGroupStateRequest> for RequestKind {
2747 fn from(value: WriteShareGroupStateRequest) -> RequestKind {
2748 RequestKind::WriteShareGroupState(value)
2749 }
2750}
2751
2752#[cfg(feature = "messages_enums")]
2753impl From<DeleteShareGroupStateRequest> for RequestKind {
2754 fn from(value: DeleteShareGroupStateRequest) -> RequestKind {
2755 RequestKind::DeleteShareGroupState(value)
2756 }
2757}
2758
2759#[cfg(feature = "messages_enums")]
2760impl From<ReadShareGroupStateSummaryRequest> for RequestKind {
2761 fn from(value: ReadShareGroupStateSummaryRequest) -> RequestKind {
2762 RequestKind::ReadShareGroupStateSummary(value)
2763 }
2764}
2765
2766#[cfg(feature = "messages_enums")]
2767impl From<DescribeShareGroupOffsetsRequest> for RequestKind {
2768 fn from(value: DescribeShareGroupOffsetsRequest) -> RequestKind {
2769 RequestKind::DescribeShareGroupOffsets(value)
2770 }
2771}
2772
2773#[cfg(feature = "messages_enums")]
2774impl From<AlterShareGroupOffsetsRequest> for RequestKind {
2775 fn from(value: AlterShareGroupOffsetsRequest) -> RequestKind {
2776 RequestKind::AlterShareGroupOffsets(value)
2777 }
2778}
2779
2780#[cfg(feature = "messages_enums")]
2781impl From<DeleteShareGroupOffsetsRequest> for RequestKind {
2782 fn from(value: DeleteShareGroupOffsetsRequest) -> RequestKind {
2783 RequestKind::DeleteShareGroupOffsets(value)
2784 }
2785}
2786
2787#[cfg(feature = "messages_enums")]
2788#[cfg(any(feature = "client", feature = "broker"))]
2789fn decode<T: Decodable>(bytes: &mut bytes::Bytes, version: i16) -> Result<T> {
2790 T::decode(bytes, version).with_context(|| {
2791 format!(
2792 "Failed to decode {} v{} body",
2793 std::any::type_name::<T>(),
2794 version
2795 )
2796 })
2797}
2798
2799#[cfg(feature = "messages_enums")]
2800#[cfg(any(feature = "client", feature = "broker"))]
2801fn encode<T: Encodable>(encodable: &T, bytes: &mut bytes::BytesMut, version: i16) -> Result<()> {
2802 encodable.encode(bytes, version).with_context(|| {
2803 format!(
2804 "Failed to encode {} v{} body",
2805 std::any::type_name::<T>(),
2806 version
2807 )
2808 })
2809}
2810
2811#[non_exhaustive]
2813#[derive(Debug, Clone, PartialEq)]
2814#[cfg(feature = "messages_enums")]
2815pub enum ResponseKind {
2816 Produce(ProduceResponse),
2818 Fetch(FetchResponse),
2820 ListOffsets(ListOffsetsResponse),
2822 Metadata(MetadataResponse),
2824 OffsetCommit(OffsetCommitResponse),
2826 OffsetFetch(OffsetFetchResponse),
2828 FindCoordinator(FindCoordinatorResponse),
2830 JoinGroup(JoinGroupResponse),
2832 Heartbeat(HeartbeatResponse),
2834 LeaveGroup(LeaveGroupResponse),
2836 SyncGroup(SyncGroupResponse),
2838 DescribeGroups(DescribeGroupsResponse),
2840 ListGroups(ListGroupsResponse),
2842 SaslHandshake(SaslHandshakeResponse),
2844 ApiVersions(ApiVersionsResponse),
2846 CreateTopics(CreateTopicsResponse),
2848 DeleteTopics(DeleteTopicsResponse),
2850 DeleteRecords(DeleteRecordsResponse),
2852 InitProducerId(InitProducerIdResponse),
2854 OffsetForLeaderEpoch(OffsetForLeaderEpochResponse),
2856 AddPartitionsToTxn(AddPartitionsToTxnResponse),
2858 AddOffsetsToTxn(AddOffsetsToTxnResponse),
2860 EndTxn(EndTxnResponse),
2862 WriteTxnMarkers(WriteTxnMarkersResponse),
2864 TxnOffsetCommit(TxnOffsetCommitResponse),
2866 DescribeAcls(DescribeAclsResponse),
2868 CreateAcls(CreateAclsResponse),
2870 DeleteAcls(DeleteAclsResponse),
2872 DescribeConfigs(DescribeConfigsResponse),
2874 AlterConfigs(AlterConfigsResponse),
2876 AlterReplicaLogDirs(AlterReplicaLogDirsResponse),
2878 DescribeLogDirs(DescribeLogDirsResponse),
2880 SaslAuthenticate(SaslAuthenticateResponse),
2882 CreatePartitions(CreatePartitionsResponse),
2884 CreateDelegationToken(CreateDelegationTokenResponse),
2886 RenewDelegationToken(RenewDelegationTokenResponse),
2888 ExpireDelegationToken(ExpireDelegationTokenResponse),
2890 DescribeDelegationToken(DescribeDelegationTokenResponse),
2892 DeleteGroups(DeleteGroupsResponse),
2894 ElectLeaders(ElectLeadersResponse),
2896 IncrementalAlterConfigs(IncrementalAlterConfigsResponse),
2898 AlterPartitionReassignments(AlterPartitionReassignmentsResponse),
2900 ListPartitionReassignments(ListPartitionReassignmentsResponse),
2902 OffsetDelete(OffsetDeleteResponse),
2904 DescribeClientQuotas(DescribeClientQuotasResponse),
2906 AlterClientQuotas(AlterClientQuotasResponse),
2908 DescribeUserScramCredentials(DescribeUserScramCredentialsResponse),
2910 AlterUserScramCredentials(AlterUserScramCredentialsResponse),
2912 Vote(VoteResponse),
2914 BeginQuorumEpoch(BeginQuorumEpochResponse),
2916 EndQuorumEpoch(EndQuorumEpochResponse),
2918 DescribeQuorum(DescribeQuorumResponse),
2920 AlterPartition(AlterPartitionResponse),
2922 UpdateFeatures(UpdateFeaturesResponse),
2924 Envelope(EnvelopeResponse),
2926 FetchSnapshot(FetchSnapshotResponse),
2928 DescribeCluster(DescribeClusterResponse),
2930 DescribeProducers(DescribeProducersResponse),
2932 BrokerRegistration(BrokerRegistrationResponse),
2934 BrokerHeartbeat(BrokerHeartbeatResponse),
2936 UnregisterBroker(UnregisterBrokerResponse),
2938 DescribeTransactions(DescribeTransactionsResponse),
2940 ListTransactions(ListTransactionsResponse),
2942 AllocateProducerIds(AllocateProducerIdsResponse),
2944 ConsumerGroupHeartbeat(ConsumerGroupHeartbeatResponse),
2946 ConsumerGroupDescribe(ConsumerGroupDescribeResponse),
2948 ControllerRegistration(ControllerRegistrationResponse),
2950 GetTelemetrySubscriptions(GetTelemetrySubscriptionsResponse),
2952 PushTelemetry(PushTelemetryResponse),
2954 AssignReplicasToDirs(AssignReplicasToDirsResponse),
2956 ListConfigResources(ListConfigResourcesResponse),
2958 DescribeTopicPartitions(DescribeTopicPartitionsResponse),
2960 ShareGroupHeartbeat(ShareGroupHeartbeatResponse),
2962 ShareGroupDescribe(ShareGroupDescribeResponse),
2964 ShareFetch(ShareFetchResponse),
2966 ShareAcknowledge(ShareAcknowledgeResponse),
2968 AddRaftVoter(AddRaftVoterResponse),
2970 RemoveRaftVoter(RemoveRaftVoterResponse),
2972 UpdateRaftVoter(UpdateRaftVoterResponse),
2974 InitializeShareGroupState(InitializeShareGroupStateResponse),
2976 ReadShareGroupState(ReadShareGroupStateResponse),
2978 WriteShareGroupState(WriteShareGroupStateResponse),
2980 DeleteShareGroupState(DeleteShareGroupStateResponse),
2982 ReadShareGroupStateSummary(ReadShareGroupStateSummaryResponse),
2984 DescribeShareGroupOffsets(DescribeShareGroupOffsetsResponse),
2986 AlterShareGroupOffsets(AlterShareGroupOffsetsResponse),
2988 DeleteShareGroupOffsets(DeleteShareGroupOffsetsResponse),
2990}
2991
2992#[cfg(feature = "messages_enums")]
2993impl ResponseKind {
2994 #[cfg(feature = "broker")]
2996 pub fn encode(&self, bytes: &mut bytes::BytesMut, version: i16) -> anyhow::Result<()> {
2997 match self {
2998 ResponseKind::Produce(x) => encode(x, bytes, version),
2999 ResponseKind::Fetch(x) => encode(x, bytes, version),
3000 ResponseKind::ListOffsets(x) => encode(x, bytes, version),
3001 ResponseKind::Metadata(x) => encode(x, bytes, version),
3002 ResponseKind::OffsetCommit(x) => encode(x, bytes, version),
3003 ResponseKind::OffsetFetch(x) => encode(x, bytes, version),
3004 ResponseKind::FindCoordinator(x) => encode(x, bytes, version),
3005 ResponseKind::JoinGroup(x) => encode(x, bytes, version),
3006 ResponseKind::Heartbeat(x) => encode(x, bytes, version),
3007 ResponseKind::LeaveGroup(x) => encode(x, bytes, version),
3008 ResponseKind::SyncGroup(x) => encode(x, bytes, version),
3009 ResponseKind::DescribeGroups(x) => encode(x, bytes, version),
3010 ResponseKind::ListGroups(x) => encode(x, bytes, version),
3011 ResponseKind::SaslHandshake(x) => encode(x, bytes, version),
3012 ResponseKind::ApiVersions(x) => encode(x, bytes, version),
3013 ResponseKind::CreateTopics(x) => encode(x, bytes, version),
3014 ResponseKind::DeleteTopics(x) => encode(x, bytes, version),
3015 ResponseKind::DeleteRecords(x) => encode(x, bytes, version),
3016 ResponseKind::InitProducerId(x) => encode(x, bytes, version),
3017 ResponseKind::OffsetForLeaderEpoch(x) => encode(x, bytes, version),
3018 ResponseKind::AddPartitionsToTxn(x) => encode(x, bytes, version),
3019 ResponseKind::AddOffsetsToTxn(x) => encode(x, bytes, version),
3020 ResponseKind::EndTxn(x) => encode(x, bytes, version),
3021 ResponseKind::WriteTxnMarkers(x) => encode(x, bytes, version),
3022 ResponseKind::TxnOffsetCommit(x) => encode(x, bytes, version),
3023 ResponseKind::DescribeAcls(x) => encode(x, bytes, version),
3024 ResponseKind::CreateAcls(x) => encode(x, bytes, version),
3025 ResponseKind::DeleteAcls(x) => encode(x, bytes, version),
3026 ResponseKind::DescribeConfigs(x) => encode(x, bytes, version),
3027 ResponseKind::AlterConfigs(x) => encode(x, bytes, version),
3028 ResponseKind::AlterReplicaLogDirs(x) => encode(x, bytes, version),
3029 ResponseKind::DescribeLogDirs(x) => encode(x, bytes, version),
3030 ResponseKind::SaslAuthenticate(x) => encode(x, bytes, version),
3031 ResponseKind::CreatePartitions(x) => encode(x, bytes, version),
3032 ResponseKind::CreateDelegationToken(x) => encode(x, bytes, version),
3033 ResponseKind::RenewDelegationToken(x) => encode(x, bytes, version),
3034 ResponseKind::ExpireDelegationToken(x) => encode(x, bytes, version),
3035 ResponseKind::DescribeDelegationToken(x) => encode(x, bytes, version),
3036 ResponseKind::DeleteGroups(x) => encode(x, bytes, version),
3037 ResponseKind::ElectLeaders(x) => encode(x, bytes, version),
3038 ResponseKind::IncrementalAlterConfigs(x) => encode(x, bytes, version),
3039 ResponseKind::AlterPartitionReassignments(x) => encode(x, bytes, version),
3040 ResponseKind::ListPartitionReassignments(x) => encode(x, bytes, version),
3041 ResponseKind::OffsetDelete(x) => encode(x, bytes, version),
3042 ResponseKind::DescribeClientQuotas(x) => encode(x, bytes, version),
3043 ResponseKind::AlterClientQuotas(x) => encode(x, bytes, version),
3044 ResponseKind::DescribeUserScramCredentials(x) => encode(x, bytes, version),
3045 ResponseKind::AlterUserScramCredentials(x) => encode(x, bytes, version),
3046 ResponseKind::Vote(x) => encode(x, bytes, version),
3047 ResponseKind::BeginQuorumEpoch(x) => encode(x, bytes, version),
3048 ResponseKind::EndQuorumEpoch(x) => encode(x, bytes, version),
3049 ResponseKind::DescribeQuorum(x) => encode(x, bytes, version),
3050 ResponseKind::AlterPartition(x) => encode(x, bytes, version),
3051 ResponseKind::UpdateFeatures(x) => encode(x, bytes, version),
3052 ResponseKind::Envelope(x) => encode(x, bytes, version),
3053 ResponseKind::FetchSnapshot(x) => encode(x, bytes, version),
3054 ResponseKind::DescribeCluster(x) => encode(x, bytes, version),
3055 ResponseKind::DescribeProducers(x) => encode(x, bytes, version),
3056 ResponseKind::BrokerRegistration(x) => encode(x, bytes, version),
3057 ResponseKind::BrokerHeartbeat(x) => encode(x, bytes, version),
3058 ResponseKind::UnregisterBroker(x) => encode(x, bytes, version),
3059 ResponseKind::DescribeTransactions(x) => encode(x, bytes, version),
3060 ResponseKind::ListTransactions(x) => encode(x, bytes, version),
3061 ResponseKind::AllocateProducerIds(x) => encode(x, bytes, version),
3062 ResponseKind::ConsumerGroupHeartbeat(x) => encode(x, bytes, version),
3063 ResponseKind::ConsumerGroupDescribe(x) => encode(x, bytes, version),
3064 ResponseKind::ControllerRegistration(x) => encode(x, bytes, version),
3065 ResponseKind::GetTelemetrySubscriptions(x) => encode(x, bytes, version),
3066 ResponseKind::PushTelemetry(x) => encode(x, bytes, version),
3067 ResponseKind::AssignReplicasToDirs(x) => encode(x, bytes, version),
3068 ResponseKind::ListConfigResources(x) => encode(x, bytes, version),
3069 ResponseKind::DescribeTopicPartitions(x) => encode(x, bytes, version),
3070 ResponseKind::ShareGroupHeartbeat(x) => encode(x, bytes, version),
3071 ResponseKind::ShareGroupDescribe(x) => encode(x, bytes, version),
3072 ResponseKind::ShareFetch(x) => encode(x, bytes, version),
3073 ResponseKind::ShareAcknowledge(x) => encode(x, bytes, version),
3074 ResponseKind::AddRaftVoter(x) => encode(x, bytes, version),
3075 ResponseKind::RemoveRaftVoter(x) => encode(x, bytes, version),
3076 ResponseKind::UpdateRaftVoter(x) => encode(x, bytes, version),
3077 ResponseKind::InitializeShareGroupState(x) => encode(x, bytes, version),
3078 ResponseKind::ReadShareGroupState(x) => encode(x, bytes, version),
3079 ResponseKind::WriteShareGroupState(x) => encode(x, bytes, version),
3080 ResponseKind::DeleteShareGroupState(x) => encode(x, bytes, version),
3081 ResponseKind::ReadShareGroupStateSummary(x) => encode(x, bytes, version),
3082 ResponseKind::DescribeShareGroupOffsets(x) => encode(x, bytes, version),
3083 ResponseKind::AlterShareGroupOffsets(x) => encode(x, bytes, version),
3084 ResponseKind::DeleteShareGroupOffsets(x) => encode(x, bytes, version),
3085 }
3086 }
3087 #[cfg(feature = "client")]
3089 pub fn decode(
3090 api_key: ApiKey,
3091 bytes: &mut bytes::Bytes,
3092 version: i16,
3093 ) -> anyhow::Result<ResponseKind> {
3094 match api_key {
3095 ApiKey::Produce => Ok(ResponseKind::Produce(decode(bytes, version)?)),
3096 ApiKey::Fetch => Ok(ResponseKind::Fetch(decode(bytes, version)?)),
3097 ApiKey::ListOffsets => Ok(ResponseKind::ListOffsets(decode(bytes, version)?)),
3098 ApiKey::Metadata => Ok(ResponseKind::Metadata(decode(bytes, version)?)),
3099 ApiKey::OffsetCommit => Ok(ResponseKind::OffsetCommit(decode(bytes, version)?)),
3100 ApiKey::OffsetFetch => Ok(ResponseKind::OffsetFetch(decode(bytes, version)?)),
3101 ApiKey::FindCoordinator => Ok(ResponseKind::FindCoordinator(decode(bytes, version)?)),
3102 ApiKey::JoinGroup => Ok(ResponseKind::JoinGroup(decode(bytes, version)?)),
3103 ApiKey::Heartbeat => Ok(ResponseKind::Heartbeat(decode(bytes, version)?)),
3104 ApiKey::LeaveGroup => Ok(ResponseKind::LeaveGroup(decode(bytes, version)?)),
3105 ApiKey::SyncGroup => Ok(ResponseKind::SyncGroup(decode(bytes, version)?)),
3106 ApiKey::DescribeGroups => Ok(ResponseKind::DescribeGroups(decode(bytes, version)?)),
3107 ApiKey::ListGroups => Ok(ResponseKind::ListGroups(decode(bytes, version)?)),
3108 ApiKey::SaslHandshake => Ok(ResponseKind::SaslHandshake(decode(bytes, version)?)),
3109 ApiKey::ApiVersions => Ok(ResponseKind::ApiVersions(decode(bytes, version)?)),
3110 ApiKey::CreateTopics => Ok(ResponseKind::CreateTopics(decode(bytes, version)?)),
3111 ApiKey::DeleteTopics => Ok(ResponseKind::DeleteTopics(decode(bytes, version)?)),
3112 ApiKey::DeleteRecords => Ok(ResponseKind::DeleteRecords(decode(bytes, version)?)),
3113 ApiKey::InitProducerId => Ok(ResponseKind::InitProducerId(decode(bytes, version)?)),
3114 ApiKey::OffsetForLeaderEpoch => {
3115 Ok(ResponseKind::OffsetForLeaderEpoch(decode(bytes, version)?))
3116 }
3117 ApiKey::AddPartitionsToTxn => {
3118 Ok(ResponseKind::AddPartitionsToTxn(decode(bytes, version)?))
3119 }
3120 ApiKey::AddOffsetsToTxn => Ok(ResponseKind::AddOffsetsToTxn(decode(bytes, version)?)),
3121 ApiKey::EndTxn => Ok(ResponseKind::EndTxn(decode(bytes, version)?)),
3122 ApiKey::WriteTxnMarkers => Ok(ResponseKind::WriteTxnMarkers(decode(bytes, version)?)),
3123 ApiKey::TxnOffsetCommit => Ok(ResponseKind::TxnOffsetCommit(decode(bytes, version)?)),
3124 ApiKey::DescribeAcls => Ok(ResponseKind::DescribeAcls(decode(bytes, version)?)),
3125 ApiKey::CreateAcls => Ok(ResponseKind::CreateAcls(decode(bytes, version)?)),
3126 ApiKey::DeleteAcls => Ok(ResponseKind::DeleteAcls(decode(bytes, version)?)),
3127 ApiKey::DescribeConfigs => Ok(ResponseKind::DescribeConfigs(decode(bytes, version)?)),
3128 ApiKey::AlterConfigs => Ok(ResponseKind::AlterConfigs(decode(bytes, version)?)),
3129 ApiKey::AlterReplicaLogDirs => {
3130 Ok(ResponseKind::AlterReplicaLogDirs(decode(bytes, version)?))
3131 }
3132 ApiKey::DescribeLogDirs => Ok(ResponseKind::DescribeLogDirs(decode(bytes, version)?)),
3133 ApiKey::SaslAuthenticate => Ok(ResponseKind::SaslAuthenticate(decode(bytes, version)?)),
3134 ApiKey::CreatePartitions => Ok(ResponseKind::CreatePartitions(decode(bytes, version)?)),
3135 ApiKey::CreateDelegationToken => {
3136 Ok(ResponseKind::CreateDelegationToken(decode(bytes, version)?))
3137 }
3138 ApiKey::RenewDelegationToken => {
3139 Ok(ResponseKind::RenewDelegationToken(decode(bytes, version)?))
3140 }
3141 ApiKey::ExpireDelegationToken => {
3142 Ok(ResponseKind::ExpireDelegationToken(decode(bytes, version)?))
3143 }
3144 ApiKey::DescribeDelegationToken => Ok(ResponseKind::DescribeDelegationToken(decode(
3145 bytes, version,
3146 )?)),
3147 ApiKey::DeleteGroups => Ok(ResponseKind::DeleteGroups(decode(bytes, version)?)),
3148 ApiKey::ElectLeaders => Ok(ResponseKind::ElectLeaders(decode(bytes, version)?)),
3149 ApiKey::IncrementalAlterConfigs => Ok(ResponseKind::IncrementalAlterConfigs(decode(
3150 bytes, version,
3151 )?)),
3152 ApiKey::AlterPartitionReassignments => Ok(ResponseKind::AlterPartitionReassignments(
3153 decode(bytes, version)?,
3154 )),
3155 ApiKey::ListPartitionReassignments => Ok(ResponseKind::ListPartitionReassignments(
3156 decode(bytes, version)?,
3157 )),
3158 ApiKey::OffsetDelete => Ok(ResponseKind::OffsetDelete(decode(bytes, version)?)),
3159 ApiKey::DescribeClientQuotas => {
3160 Ok(ResponseKind::DescribeClientQuotas(decode(bytes, version)?))
3161 }
3162 ApiKey::AlterClientQuotas => {
3163 Ok(ResponseKind::AlterClientQuotas(decode(bytes, version)?))
3164 }
3165 ApiKey::DescribeUserScramCredentials => Ok(ResponseKind::DescribeUserScramCredentials(
3166 decode(bytes, version)?,
3167 )),
3168 ApiKey::AlterUserScramCredentials => Ok(ResponseKind::AlterUserScramCredentials(
3169 decode(bytes, version)?,
3170 )),
3171 ApiKey::Vote => Ok(ResponseKind::Vote(decode(bytes, version)?)),
3172 ApiKey::BeginQuorumEpoch => Ok(ResponseKind::BeginQuorumEpoch(decode(bytes, version)?)),
3173 ApiKey::EndQuorumEpoch => Ok(ResponseKind::EndQuorumEpoch(decode(bytes, version)?)),
3174 ApiKey::DescribeQuorum => Ok(ResponseKind::DescribeQuorum(decode(bytes, version)?)),
3175 ApiKey::AlterPartition => Ok(ResponseKind::AlterPartition(decode(bytes, version)?)),
3176 ApiKey::UpdateFeatures => Ok(ResponseKind::UpdateFeatures(decode(bytes, version)?)),
3177 ApiKey::Envelope => Ok(ResponseKind::Envelope(decode(bytes, version)?)),
3178 ApiKey::FetchSnapshot => Ok(ResponseKind::FetchSnapshot(decode(bytes, version)?)),
3179 ApiKey::DescribeCluster => Ok(ResponseKind::DescribeCluster(decode(bytes, version)?)),
3180 ApiKey::DescribeProducers => {
3181 Ok(ResponseKind::DescribeProducers(decode(bytes, version)?))
3182 }
3183 ApiKey::BrokerRegistration => {
3184 Ok(ResponseKind::BrokerRegistration(decode(bytes, version)?))
3185 }
3186 ApiKey::BrokerHeartbeat => Ok(ResponseKind::BrokerHeartbeat(decode(bytes, version)?)),
3187 ApiKey::UnregisterBroker => Ok(ResponseKind::UnregisterBroker(decode(bytes, version)?)),
3188 ApiKey::DescribeTransactions => {
3189 Ok(ResponseKind::DescribeTransactions(decode(bytes, version)?))
3190 }
3191 ApiKey::ListTransactions => Ok(ResponseKind::ListTransactions(decode(bytes, version)?)),
3192 ApiKey::AllocateProducerIds => {
3193 Ok(ResponseKind::AllocateProducerIds(decode(bytes, version)?))
3194 }
3195 ApiKey::ConsumerGroupHeartbeat => Ok(ResponseKind::ConsumerGroupHeartbeat(decode(
3196 bytes, version,
3197 )?)),
3198 ApiKey::ConsumerGroupDescribe => {
3199 Ok(ResponseKind::ConsumerGroupDescribe(decode(bytes, version)?))
3200 }
3201 ApiKey::ControllerRegistration => Ok(ResponseKind::ControllerRegistration(decode(
3202 bytes, version,
3203 )?)),
3204 ApiKey::GetTelemetrySubscriptions => Ok(ResponseKind::GetTelemetrySubscriptions(
3205 decode(bytes, version)?,
3206 )),
3207 ApiKey::PushTelemetry => Ok(ResponseKind::PushTelemetry(decode(bytes, version)?)),
3208 ApiKey::AssignReplicasToDirs => {
3209 Ok(ResponseKind::AssignReplicasToDirs(decode(bytes, version)?))
3210 }
3211 ApiKey::ListConfigResources => {
3212 Ok(ResponseKind::ListConfigResources(decode(bytes, version)?))
3213 }
3214 ApiKey::DescribeTopicPartitions => Ok(ResponseKind::DescribeTopicPartitions(decode(
3215 bytes, version,
3216 )?)),
3217 ApiKey::ShareGroupHeartbeat => {
3218 Ok(ResponseKind::ShareGroupHeartbeat(decode(bytes, version)?))
3219 }
3220 ApiKey::ShareGroupDescribe => {
3221 Ok(ResponseKind::ShareGroupDescribe(decode(bytes, version)?))
3222 }
3223 ApiKey::ShareFetch => Ok(ResponseKind::ShareFetch(decode(bytes, version)?)),
3224 ApiKey::ShareAcknowledge => Ok(ResponseKind::ShareAcknowledge(decode(bytes, version)?)),
3225 ApiKey::AddRaftVoter => Ok(ResponseKind::AddRaftVoter(decode(bytes, version)?)),
3226 ApiKey::RemoveRaftVoter => Ok(ResponseKind::RemoveRaftVoter(decode(bytes, version)?)),
3227 ApiKey::UpdateRaftVoter => Ok(ResponseKind::UpdateRaftVoter(decode(bytes, version)?)),
3228 ApiKey::InitializeShareGroupState => Ok(ResponseKind::InitializeShareGroupState(
3229 decode(bytes, version)?,
3230 )),
3231 ApiKey::ReadShareGroupState => {
3232 Ok(ResponseKind::ReadShareGroupState(decode(bytes, version)?))
3233 }
3234 ApiKey::WriteShareGroupState => {
3235 Ok(ResponseKind::WriteShareGroupState(decode(bytes, version)?))
3236 }
3237 ApiKey::DeleteShareGroupState => {
3238 Ok(ResponseKind::DeleteShareGroupState(decode(bytes, version)?))
3239 }
3240 ApiKey::ReadShareGroupStateSummary => Ok(ResponseKind::ReadShareGroupStateSummary(
3241 decode(bytes, version)?,
3242 )),
3243 ApiKey::DescribeShareGroupOffsets => Ok(ResponseKind::DescribeShareGroupOffsets(
3244 decode(bytes, version)?,
3245 )),
3246 ApiKey::AlterShareGroupOffsets => Ok(ResponseKind::AlterShareGroupOffsets(decode(
3247 bytes, version,
3248 )?)),
3249 ApiKey::DeleteShareGroupOffsets => Ok(ResponseKind::DeleteShareGroupOffsets(decode(
3250 bytes, version,
3251 )?)),
3252 }
3253 }
3254 pub fn header_version(&self, version: i16) -> i16 {
3256 match self {
3257 ResponseKind::Produce(_) => ProduceResponse::header_version(version),
3258 ResponseKind::Fetch(_) => FetchResponse::header_version(version),
3259 ResponseKind::ListOffsets(_) => ListOffsetsResponse::header_version(version),
3260 ResponseKind::Metadata(_) => MetadataResponse::header_version(version),
3261 ResponseKind::OffsetCommit(_) => OffsetCommitResponse::header_version(version),
3262 ResponseKind::OffsetFetch(_) => OffsetFetchResponse::header_version(version),
3263 ResponseKind::FindCoordinator(_) => FindCoordinatorResponse::header_version(version),
3264 ResponseKind::JoinGroup(_) => JoinGroupResponse::header_version(version),
3265 ResponseKind::Heartbeat(_) => HeartbeatResponse::header_version(version),
3266 ResponseKind::LeaveGroup(_) => LeaveGroupResponse::header_version(version),
3267 ResponseKind::SyncGroup(_) => SyncGroupResponse::header_version(version),
3268 ResponseKind::DescribeGroups(_) => DescribeGroupsResponse::header_version(version),
3269 ResponseKind::ListGroups(_) => ListGroupsResponse::header_version(version),
3270 ResponseKind::SaslHandshake(_) => SaslHandshakeResponse::header_version(version),
3271 ResponseKind::ApiVersions(_) => ApiVersionsResponse::header_version(version),
3272 ResponseKind::CreateTopics(_) => CreateTopicsResponse::header_version(version),
3273 ResponseKind::DeleteTopics(_) => DeleteTopicsResponse::header_version(version),
3274 ResponseKind::DeleteRecords(_) => DeleteRecordsResponse::header_version(version),
3275 ResponseKind::InitProducerId(_) => InitProducerIdResponse::header_version(version),
3276 ResponseKind::OffsetForLeaderEpoch(_) => {
3277 OffsetForLeaderEpochResponse::header_version(version)
3278 }
3279 ResponseKind::AddPartitionsToTxn(_) => {
3280 AddPartitionsToTxnResponse::header_version(version)
3281 }
3282 ResponseKind::AddOffsetsToTxn(_) => AddOffsetsToTxnResponse::header_version(version),
3283 ResponseKind::EndTxn(_) => EndTxnResponse::header_version(version),
3284 ResponseKind::WriteTxnMarkers(_) => WriteTxnMarkersResponse::header_version(version),
3285 ResponseKind::TxnOffsetCommit(_) => TxnOffsetCommitResponse::header_version(version),
3286 ResponseKind::DescribeAcls(_) => DescribeAclsResponse::header_version(version),
3287 ResponseKind::CreateAcls(_) => CreateAclsResponse::header_version(version),
3288 ResponseKind::DeleteAcls(_) => DeleteAclsResponse::header_version(version),
3289 ResponseKind::DescribeConfigs(_) => DescribeConfigsResponse::header_version(version),
3290 ResponseKind::AlterConfigs(_) => AlterConfigsResponse::header_version(version),
3291 ResponseKind::AlterReplicaLogDirs(_) => {
3292 AlterReplicaLogDirsResponse::header_version(version)
3293 }
3294 ResponseKind::DescribeLogDirs(_) => DescribeLogDirsResponse::header_version(version),
3295 ResponseKind::SaslAuthenticate(_) => SaslAuthenticateResponse::header_version(version),
3296 ResponseKind::CreatePartitions(_) => CreatePartitionsResponse::header_version(version),
3297 ResponseKind::CreateDelegationToken(_) => {
3298 CreateDelegationTokenResponse::header_version(version)
3299 }
3300 ResponseKind::RenewDelegationToken(_) => {
3301 RenewDelegationTokenResponse::header_version(version)
3302 }
3303 ResponseKind::ExpireDelegationToken(_) => {
3304 ExpireDelegationTokenResponse::header_version(version)
3305 }
3306 ResponseKind::DescribeDelegationToken(_) => {
3307 DescribeDelegationTokenResponse::header_version(version)
3308 }
3309 ResponseKind::DeleteGroups(_) => DeleteGroupsResponse::header_version(version),
3310 ResponseKind::ElectLeaders(_) => ElectLeadersResponse::header_version(version),
3311 ResponseKind::IncrementalAlterConfigs(_) => {
3312 IncrementalAlterConfigsResponse::header_version(version)
3313 }
3314 ResponseKind::AlterPartitionReassignments(_) => {
3315 AlterPartitionReassignmentsResponse::header_version(version)
3316 }
3317 ResponseKind::ListPartitionReassignments(_) => {
3318 ListPartitionReassignmentsResponse::header_version(version)
3319 }
3320 ResponseKind::OffsetDelete(_) => OffsetDeleteResponse::header_version(version),
3321 ResponseKind::DescribeClientQuotas(_) => {
3322 DescribeClientQuotasResponse::header_version(version)
3323 }
3324 ResponseKind::AlterClientQuotas(_) => {
3325 AlterClientQuotasResponse::header_version(version)
3326 }
3327 ResponseKind::DescribeUserScramCredentials(_) => {
3328 DescribeUserScramCredentialsResponse::header_version(version)
3329 }
3330 ResponseKind::AlterUserScramCredentials(_) => {
3331 AlterUserScramCredentialsResponse::header_version(version)
3332 }
3333 ResponseKind::Vote(_) => VoteResponse::header_version(version),
3334 ResponseKind::BeginQuorumEpoch(_) => BeginQuorumEpochResponse::header_version(version),
3335 ResponseKind::EndQuorumEpoch(_) => EndQuorumEpochResponse::header_version(version),
3336 ResponseKind::DescribeQuorum(_) => DescribeQuorumResponse::header_version(version),
3337 ResponseKind::AlterPartition(_) => AlterPartitionResponse::header_version(version),
3338 ResponseKind::UpdateFeatures(_) => UpdateFeaturesResponse::header_version(version),
3339 ResponseKind::Envelope(_) => EnvelopeResponse::header_version(version),
3340 ResponseKind::FetchSnapshot(_) => FetchSnapshotResponse::header_version(version),
3341 ResponseKind::DescribeCluster(_) => DescribeClusterResponse::header_version(version),
3342 ResponseKind::DescribeProducers(_) => {
3343 DescribeProducersResponse::header_version(version)
3344 }
3345 ResponseKind::BrokerRegistration(_) => {
3346 BrokerRegistrationResponse::header_version(version)
3347 }
3348 ResponseKind::BrokerHeartbeat(_) => BrokerHeartbeatResponse::header_version(version),
3349 ResponseKind::UnregisterBroker(_) => UnregisterBrokerResponse::header_version(version),
3350 ResponseKind::DescribeTransactions(_) => {
3351 DescribeTransactionsResponse::header_version(version)
3352 }
3353 ResponseKind::ListTransactions(_) => ListTransactionsResponse::header_version(version),
3354 ResponseKind::AllocateProducerIds(_) => {
3355 AllocateProducerIdsResponse::header_version(version)
3356 }
3357 ResponseKind::ConsumerGroupHeartbeat(_) => {
3358 ConsumerGroupHeartbeatResponse::header_version(version)
3359 }
3360 ResponseKind::ConsumerGroupDescribe(_) => {
3361 ConsumerGroupDescribeResponse::header_version(version)
3362 }
3363 ResponseKind::ControllerRegistration(_) => {
3364 ControllerRegistrationResponse::header_version(version)
3365 }
3366 ResponseKind::GetTelemetrySubscriptions(_) => {
3367 GetTelemetrySubscriptionsResponse::header_version(version)
3368 }
3369 ResponseKind::PushTelemetry(_) => PushTelemetryResponse::header_version(version),
3370 ResponseKind::AssignReplicasToDirs(_) => {
3371 AssignReplicasToDirsResponse::header_version(version)
3372 }
3373 ResponseKind::ListConfigResources(_) => {
3374 ListConfigResourcesResponse::header_version(version)
3375 }
3376 ResponseKind::DescribeTopicPartitions(_) => {
3377 DescribeTopicPartitionsResponse::header_version(version)
3378 }
3379 ResponseKind::ShareGroupHeartbeat(_) => {
3380 ShareGroupHeartbeatResponse::header_version(version)
3381 }
3382 ResponseKind::ShareGroupDescribe(_) => {
3383 ShareGroupDescribeResponse::header_version(version)
3384 }
3385 ResponseKind::ShareFetch(_) => ShareFetchResponse::header_version(version),
3386 ResponseKind::ShareAcknowledge(_) => ShareAcknowledgeResponse::header_version(version),
3387 ResponseKind::AddRaftVoter(_) => AddRaftVoterResponse::header_version(version),
3388 ResponseKind::RemoveRaftVoter(_) => RemoveRaftVoterResponse::header_version(version),
3389 ResponseKind::UpdateRaftVoter(_) => UpdateRaftVoterResponse::header_version(version),
3390 ResponseKind::InitializeShareGroupState(_) => {
3391 InitializeShareGroupStateResponse::header_version(version)
3392 }
3393 ResponseKind::ReadShareGroupState(_) => {
3394 ReadShareGroupStateResponse::header_version(version)
3395 }
3396 ResponseKind::WriteShareGroupState(_) => {
3397 WriteShareGroupStateResponse::header_version(version)
3398 }
3399 ResponseKind::DeleteShareGroupState(_) => {
3400 DeleteShareGroupStateResponse::header_version(version)
3401 }
3402 ResponseKind::ReadShareGroupStateSummary(_) => {
3403 ReadShareGroupStateSummaryResponse::header_version(version)
3404 }
3405 ResponseKind::DescribeShareGroupOffsets(_) => {
3406 DescribeShareGroupOffsetsResponse::header_version(version)
3407 }
3408 ResponseKind::AlterShareGroupOffsets(_) => {
3409 AlterShareGroupOffsetsResponse::header_version(version)
3410 }
3411 ResponseKind::DeleteShareGroupOffsets(_) => {
3412 DeleteShareGroupOffsetsResponse::header_version(version)
3413 }
3414 }
3415 }
3416}
3417
3418#[cfg(feature = "messages_enums")]
3419impl From<ProduceResponse> for ResponseKind {
3420 fn from(value: ProduceResponse) -> ResponseKind {
3421 ResponseKind::Produce(value)
3422 }
3423}
3424
3425#[cfg(feature = "messages_enums")]
3426impl From<FetchResponse> for ResponseKind {
3427 fn from(value: FetchResponse) -> ResponseKind {
3428 ResponseKind::Fetch(value)
3429 }
3430}
3431
3432#[cfg(feature = "messages_enums")]
3433impl From<ListOffsetsResponse> for ResponseKind {
3434 fn from(value: ListOffsetsResponse) -> ResponseKind {
3435 ResponseKind::ListOffsets(value)
3436 }
3437}
3438
3439#[cfg(feature = "messages_enums")]
3440impl From<MetadataResponse> for ResponseKind {
3441 fn from(value: MetadataResponse) -> ResponseKind {
3442 ResponseKind::Metadata(value)
3443 }
3444}
3445
3446#[cfg(feature = "messages_enums")]
3447impl From<OffsetCommitResponse> for ResponseKind {
3448 fn from(value: OffsetCommitResponse) -> ResponseKind {
3449 ResponseKind::OffsetCommit(value)
3450 }
3451}
3452
3453#[cfg(feature = "messages_enums")]
3454impl From<OffsetFetchResponse> for ResponseKind {
3455 fn from(value: OffsetFetchResponse) -> ResponseKind {
3456 ResponseKind::OffsetFetch(value)
3457 }
3458}
3459
3460#[cfg(feature = "messages_enums")]
3461impl From<FindCoordinatorResponse> for ResponseKind {
3462 fn from(value: FindCoordinatorResponse) -> ResponseKind {
3463 ResponseKind::FindCoordinator(value)
3464 }
3465}
3466
3467#[cfg(feature = "messages_enums")]
3468impl From<JoinGroupResponse> for ResponseKind {
3469 fn from(value: JoinGroupResponse) -> ResponseKind {
3470 ResponseKind::JoinGroup(value)
3471 }
3472}
3473
3474#[cfg(feature = "messages_enums")]
3475impl From<HeartbeatResponse> for ResponseKind {
3476 fn from(value: HeartbeatResponse) -> ResponseKind {
3477 ResponseKind::Heartbeat(value)
3478 }
3479}
3480
3481#[cfg(feature = "messages_enums")]
3482impl From<LeaveGroupResponse> for ResponseKind {
3483 fn from(value: LeaveGroupResponse) -> ResponseKind {
3484 ResponseKind::LeaveGroup(value)
3485 }
3486}
3487
3488#[cfg(feature = "messages_enums")]
3489impl From<SyncGroupResponse> for ResponseKind {
3490 fn from(value: SyncGroupResponse) -> ResponseKind {
3491 ResponseKind::SyncGroup(value)
3492 }
3493}
3494
3495#[cfg(feature = "messages_enums")]
3496impl From<DescribeGroupsResponse> for ResponseKind {
3497 fn from(value: DescribeGroupsResponse) -> ResponseKind {
3498 ResponseKind::DescribeGroups(value)
3499 }
3500}
3501
3502#[cfg(feature = "messages_enums")]
3503impl From<ListGroupsResponse> for ResponseKind {
3504 fn from(value: ListGroupsResponse) -> ResponseKind {
3505 ResponseKind::ListGroups(value)
3506 }
3507}
3508
3509#[cfg(feature = "messages_enums")]
3510impl From<SaslHandshakeResponse> for ResponseKind {
3511 fn from(value: SaslHandshakeResponse) -> ResponseKind {
3512 ResponseKind::SaslHandshake(value)
3513 }
3514}
3515
3516#[cfg(feature = "messages_enums")]
3517impl From<ApiVersionsResponse> for ResponseKind {
3518 fn from(value: ApiVersionsResponse) -> ResponseKind {
3519 ResponseKind::ApiVersions(value)
3520 }
3521}
3522
3523#[cfg(feature = "messages_enums")]
3524impl From<CreateTopicsResponse> for ResponseKind {
3525 fn from(value: CreateTopicsResponse) -> ResponseKind {
3526 ResponseKind::CreateTopics(value)
3527 }
3528}
3529
3530#[cfg(feature = "messages_enums")]
3531impl From<DeleteTopicsResponse> for ResponseKind {
3532 fn from(value: DeleteTopicsResponse) -> ResponseKind {
3533 ResponseKind::DeleteTopics(value)
3534 }
3535}
3536
3537#[cfg(feature = "messages_enums")]
3538impl From<DeleteRecordsResponse> for ResponseKind {
3539 fn from(value: DeleteRecordsResponse) -> ResponseKind {
3540 ResponseKind::DeleteRecords(value)
3541 }
3542}
3543
3544#[cfg(feature = "messages_enums")]
3545impl From<InitProducerIdResponse> for ResponseKind {
3546 fn from(value: InitProducerIdResponse) -> ResponseKind {
3547 ResponseKind::InitProducerId(value)
3548 }
3549}
3550
3551#[cfg(feature = "messages_enums")]
3552impl From<OffsetForLeaderEpochResponse> for ResponseKind {
3553 fn from(value: OffsetForLeaderEpochResponse) -> ResponseKind {
3554 ResponseKind::OffsetForLeaderEpoch(value)
3555 }
3556}
3557
3558#[cfg(feature = "messages_enums")]
3559impl From<AddPartitionsToTxnResponse> for ResponseKind {
3560 fn from(value: AddPartitionsToTxnResponse) -> ResponseKind {
3561 ResponseKind::AddPartitionsToTxn(value)
3562 }
3563}
3564
3565#[cfg(feature = "messages_enums")]
3566impl From<AddOffsetsToTxnResponse> for ResponseKind {
3567 fn from(value: AddOffsetsToTxnResponse) -> ResponseKind {
3568 ResponseKind::AddOffsetsToTxn(value)
3569 }
3570}
3571
3572#[cfg(feature = "messages_enums")]
3573impl From<EndTxnResponse> for ResponseKind {
3574 fn from(value: EndTxnResponse) -> ResponseKind {
3575 ResponseKind::EndTxn(value)
3576 }
3577}
3578
3579#[cfg(feature = "messages_enums")]
3580impl From<WriteTxnMarkersResponse> for ResponseKind {
3581 fn from(value: WriteTxnMarkersResponse) -> ResponseKind {
3582 ResponseKind::WriteTxnMarkers(value)
3583 }
3584}
3585
3586#[cfg(feature = "messages_enums")]
3587impl From<TxnOffsetCommitResponse> for ResponseKind {
3588 fn from(value: TxnOffsetCommitResponse) -> ResponseKind {
3589 ResponseKind::TxnOffsetCommit(value)
3590 }
3591}
3592
3593#[cfg(feature = "messages_enums")]
3594impl From<DescribeAclsResponse> for ResponseKind {
3595 fn from(value: DescribeAclsResponse) -> ResponseKind {
3596 ResponseKind::DescribeAcls(value)
3597 }
3598}
3599
3600#[cfg(feature = "messages_enums")]
3601impl From<CreateAclsResponse> for ResponseKind {
3602 fn from(value: CreateAclsResponse) -> ResponseKind {
3603 ResponseKind::CreateAcls(value)
3604 }
3605}
3606
3607#[cfg(feature = "messages_enums")]
3608impl From<DeleteAclsResponse> for ResponseKind {
3609 fn from(value: DeleteAclsResponse) -> ResponseKind {
3610 ResponseKind::DeleteAcls(value)
3611 }
3612}
3613
3614#[cfg(feature = "messages_enums")]
3615impl From<DescribeConfigsResponse> for ResponseKind {
3616 fn from(value: DescribeConfigsResponse) -> ResponseKind {
3617 ResponseKind::DescribeConfigs(value)
3618 }
3619}
3620
3621#[cfg(feature = "messages_enums")]
3622impl From<AlterConfigsResponse> for ResponseKind {
3623 fn from(value: AlterConfigsResponse) -> ResponseKind {
3624 ResponseKind::AlterConfigs(value)
3625 }
3626}
3627
3628#[cfg(feature = "messages_enums")]
3629impl From<AlterReplicaLogDirsResponse> for ResponseKind {
3630 fn from(value: AlterReplicaLogDirsResponse) -> ResponseKind {
3631 ResponseKind::AlterReplicaLogDirs(value)
3632 }
3633}
3634
3635#[cfg(feature = "messages_enums")]
3636impl From<DescribeLogDirsResponse> for ResponseKind {
3637 fn from(value: DescribeLogDirsResponse) -> ResponseKind {
3638 ResponseKind::DescribeLogDirs(value)
3639 }
3640}
3641
3642#[cfg(feature = "messages_enums")]
3643impl From<SaslAuthenticateResponse> for ResponseKind {
3644 fn from(value: SaslAuthenticateResponse) -> ResponseKind {
3645 ResponseKind::SaslAuthenticate(value)
3646 }
3647}
3648
3649#[cfg(feature = "messages_enums")]
3650impl From<CreatePartitionsResponse> for ResponseKind {
3651 fn from(value: CreatePartitionsResponse) -> ResponseKind {
3652 ResponseKind::CreatePartitions(value)
3653 }
3654}
3655
3656#[cfg(feature = "messages_enums")]
3657impl From<CreateDelegationTokenResponse> for ResponseKind {
3658 fn from(value: CreateDelegationTokenResponse) -> ResponseKind {
3659 ResponseKind::CreateDelegationToken(value)
3660 }
3661}
3662
3663#[cfg(feature = "messages_enums")]
3664impl From<RenewDelegationTokenResponse> for ResponseKind {
3665 fn from(value: RenewDelegationTokenResponse) -> ResponseKind {
3666 ResponseKind::RenewDelegationToken(value)
3667 }
3668}
3669
3670#[cfg(feature = "messages_enums")]
3671impl From<ExpireDelegationTokenResponse> for ResponseKind {
3672 fn from(value: ExpireDelegationTokenResponse) -> ResponseKind {
3673 ResponseKind::ExpireDelegationToken(value)
3674 }
3675}
3676
3677#[cfg(feature = "messages_enums")]
3678impl From<DescribeDelegationTokenResponse> for ResponseKind {
3679 fn from(value: DescribeDelegationTokenResponse) -> ResponseKind {
3680 ResponseKind::DescribeDelegationToken(value)
3681 }
3682}
3683
3684#[cfg(feature = "messages_enums")]
3685impl From<DeleteGroupsResponse> for ResponseKind {
3686 fn from(value: DeleteGroupsResponse) -> ResponseKind {
3687 ResponseKind::DeleteGroups(value)
3688 }
3689}
3690
3691#[cfg(feature = "messages_enums")]
3692impl From<ElectLeadersResponse> for ResponseKind {
3693 fn from(value: ElectLeadersResponse) -> ResponseKind {
3694 ResponseKind::ElectLeaders(value)
3695 }
3696}
3697
3698#[cfg(feature = "messages_enums")]
3699impl From<IncrementalAlterConfigsResponse> for ResponseKind {
3700 fn from(value: IncrementalAlterConfigsResponse) -> ResponseKind {
3701 ResponseKind::IncrementalAlterConfigs(value)
3702 }
3703}
3704
3705#[cfg(feature = "messages_enums")]
3706impl From<AlterPartitionReassignmentsResponse> for ResponseKind {
3707 fn from(value: AlterPartitionReassignmentsResponse) -> ResponseKind {
3708 ResponseKind::AlterPartitionReassignments(value)
3709 }
3710}
3711
3712#[cfg(feature = "messages_enums")]
3713impl From<ListPartitionReassignmentsResponse> for ResponseKind {
3714 fn from(value: ListPartitionReassignmentsResponse) -> ResponseKind {
3715 ResponseKind::ListPartitionReassignments(value)
3716 }
3717}
3718
3719#[cfg(feature = "messages_enums")]
3720impl From<OffsetDeleteResponse> for ResponseKind {
3721 fn from(value: OffsetDeleteResponse) -> ResponseKind {
3722 ResponseKind::OffsetDelete(value)
3723 }
3724}
3725
3726#[cfg(feature = "messages_enums")]
3727impl From<DescribeClientQuotasResponse> for ResponseKind {
3728 fn from(value: DescribeClientQuotasResponse) -> ResponseKind {
3729 ResponseKind::DescribeClientQuotas(value)
3730 }
3731}
3732
3733#[cfg(feature = "messages_enums")]
3734impl From<AlterClientQuotasResponse> for ResponseKind {
3735 fn from(value: AlterClientQuotasResponse) -> ResponseKind {
3736 ResponseKind::AlterClientQuotas(value)
3737 }
3738}
3739
3740#[cfg(feature = "messages_enums")]
3741impl From<DescribeUserScramCredentialsResponse> for ResponseKind {
3742 fn from(value: DescribeUserScramCredentialsResponse) -> ResponseKind {
3743 ResponseKind::DescribeUserScramCredentials(value)
3744 }
3745}
3746
3747#[cfg(feature = "messages_enums")]
3748impl From<AlterUserScramCredentialsResponse> for ResponseKind {
3749 fn from(value: AlterUserScramCredentialsResponse) -> ResponseKind {
3750 ResponseKind::AlterUserScramCredentials(value)
3751 }
3752}
3753
3754#[cfg(feature = "messages_enums")]
3755impl From<VoteResponse> for ResponseKind {
3756 fn from(value: VoteResponse) -> ResponseKind {
3757 ResponseKind::Vote(value)
3758 }
3759}
3760
3761#[cfg(feature = "messages_enums")]
3762impl From<BeginQuorumEpochResponse> for ResponseKind {
3763 fn from(value: BeginQuorumEpochResponse) -> ResponseKind {
3764 ResponseKind::BeginQuorumEpoch(value)
3765 }
3766}
3767
3768#[cfg(feature = "messages_enums")]
3769impl From<EndQuorumEpochResponse> for ResponseKind {
3770 fn from(value: EndQuorumEpochResponse) -> ResponseKind {
3771 ResponseKind::EndQuorumEpoch(value)
3772 }
3773}
3774
3775#[cfg(feature = "messages_enums")]
3776impl From<DescribeQuorumResponse> for ResponseKind {
3777 fn from(value: DescribeQuorumResponse) -> ResponseKind {
3778 ResponseKind::DescribeQuorum(value)
3779 }
3780}
3781
3782#[cfg(feature = "messages_enums")]
3783impl From<AlterPartitionResponse> for ResponseKind {
3784 fn from(value: AlterPartitionResponse) -> ResponseKind {
3785 ResponseKind::AlterPartition(value)
3786 }
3787}
3788
3789#[cfg(feature = "messages_enums")]
3790impl From<UpdateFeaturesResponse> for ResponseKind {
3791 fn from(value: UpdateFeaturesResponse) -> ResponseKind {
3792 ResponseKind::UpdateFeatures(value)
3793 }
3794}
3795
3796#[cfg(feature = "messages_enums")]
3797impl From<EnvelopeResponse> for ResponseKind {
3798 fn from(value: EnvelopeResponse) -> ResponseKind {
3799 ResponseKind::Envelope(value)
3800 }
3801}
3802
3803#[cfg(feature = "messages_enums")]
3804impl From<FetchSnapshotResponse> for ResponseKind {
3805 fn from(value: FetchSnapshotResponse) -> ResponseKind {
3806 ResponseKind::FetchSnapshot(value)
3807 }
3808}
3809
3810#[cfg(feature = "messages_enums")]
3811impl From<DescribeClusterResponse> for ResponseKind {
3812 fn from(value: DescribeClusterResponse) -> ResponseKind {
3813 ResponseKind::DescribeCluster(value)
3814 }
3815}
3816
3817#[cfg(feature = "messages_enums")]
3818impl From<DescribeProducersResponse> for ResponseKind {
3819 fn from(value: DescribeProducersResponse) -> ResponseKind {
3820 ResponseKind::DescribeProducers(value)
3821 }
3822}
3823
3824#[cfg(feature = "messages_enums")]
3825impl From<BrokerRegistrationResponse> for ResponseKind {
3826 fn from(value: BrokerRegistrationResponse) -> ResponseKind {
3827 ResponseKind::BrokerRegistration(value)
3828 }
3829}
3830
3831#[cfg(feature = "messages_enums")]
3832impl From<BrokerHeartbeatResponse> for ResponseKind {
3833 fn from(value: BrokerHeartbeatResponse) -> ResponseKind {
3834 ResponseKind::BrokerHeartbeat(value)
3835 }
3836}
3837
3838#[cfg(feature = "messages_enums")]
3839impl From<UnregisterBrokerResponse> for ResponseKind {
3840 fn from(value: UnregisterBrokerResponse) -> ResponseKind {
3841 ResponseKind::UnregisterBroker(value)
3842 }
3843}
3844
3845#[cfg(feature = "messages_enums")]
3846impl From<DescribeTransactionsResponse> for ResponseKind {
3847 fn from(value: DescribeTransactionsResponse) -> ResponseKind {
3848 ResponseKind::DescribeTransactions(value)
3849 }
3850}
3851
3852#[cfg(feature = "messages_enums")]
3853impl From<ListTransactionsResponse> for ResponseKind {
3854 fn from(value: ListTransactionsResponse) -> ResponseKind {
3855 ResponseKind::ListTransactions(value)
3856 }
3857}
3858
3859#[cfg(feature = "messages_enums")]
3860impl From<AllocateProducerIdsResponse> for ResponseKind {
3861 fn from(value: AllocateProducerIdsResponse) -> ResponseKind {
3862 ResponseKind::AllocateProducerIds(value)
3863 }
3864}
3865
3866#[cfg(feature = "messages_enums")]
3867impl From<ConsumerGroupHeartbeatResponse> for ResponseKind {
3868 fn from(value: ConsumerGroupHeartbeatResponse) -> ResponseKind {
3869 ResponseKind::ConsumerGroupHeartbeat(value)
3870 }
3871}
3872
3873#[cfg(feature = "messages_enums")]
3874impl From<ConsumerGroupDescribeResponse> for ResponseKind {
3875 fn from(value: ConsumerGroupDescribeResponse) -> ResponseKind {
3876 ResponseKind::ConsumerGroupDescribe(value)
3877 }
3878}
3879
3880#[cfg(feature = "messages_enums")]
3881impl From<ControllerRegistrationResponse> for ResponseKind {
3882 fn from(value: ControllerRegistrationResponse) -> ResponseKind {
3883 ResponseKind::ControllerRegistration(value)
3884 }
3885}
3886
3887#[cfg(feature = "messages_enums")]
3888impl From<GetTelemetrySubscriptionsResponse> for ResponseKind {
3889 fn from(value: GetTelemetrySubscriptionsResponse) -> ResponseKind {
3890 ResponseKind::GetTelemetrySubscriptions(value)
3891 }
3892}
3893
3894#[cfg(feature = "messages_enums")]
3895impl From<PushTelemetryResponse> for ResponseKind {
3896 fn from(value: PushTelemetryResponse) -> ResponseKind {
3897 ResponseKind::PushTelemetry(value)
3898 }
3899}
3900
3901#[cfg(feature = "messages_enums")]
3902impl From<AssignReplicasToDirsResponse> for ResponseKind {
3903 fn from(value: AssignReplicasToDirsResponse) -> ResponseKind {
3904 ResponseKind::AssignReplicasToDirs(value)
3905 }
3906}
3907
3908#[cfg(feature = "messages_enums")]
3909impl From<ListConfigResourcesResponse> for ResponseKind {
3910 fn from(value: ListConfigResourcesResponse) -> ResponseKind {
3911 ResponseKind::ListConfigResources(value)
3912 }
3913}
3914
3915#[cfg(feature = "messages_enums")]
3916impl From<DescribeTopicPartitionsResponse> for ResponseKind {
3917 fn from(value: DescribeTopicPartitionsResponse) -> ResponseKind {
3918 ResponseKind::DescribeTopicPartitions(value)
3919 }
3920}
3921
3922#[cfg(feature = "messages_enums")]
3923impl From<ShareGroupHeartbeatResponse> for ResponseKind {
3924 fn from(value: ShareGroupHeartbeatResponse) -> ResponseKind {
3925 ResponseKind::ShareGroupHeartbeat(value)
3926 }
3927}
3928
3929#[cfg(feature = "messages_enums")]
3930impl From<ShareGroupDescribeResponse> for ResponseKind {
3931 fn from(value: ShareGroupDescribeResponse) -> ResponseKind {
3932 ResponseKind::ShareGroupDescribe(value)
3933 }
3934}
3935
3936#[cfg(feature = "messages_enums")]
3937impl From<ShareFetchResponse> for ResponseKind {
3938 fn from(value: ShareFetchResponse) -> ResponseKind {
3939 ResponseKind::ShareFetch(value)
3940 }
3941}
3942
3943#[cfg(feature = "messages_enums")]
3944impl From<ShareAcknowledgeResponse> for ResponseKind {
3945 fn from(value: ShareAcknowledgeResponse) -> ResponseKind {
3946 ResponseKind::ShareAcknowledge(value)
3947 }
3948}
3949
3950#[cfg(feature = "messages_enums")]
3951impl From<AddRaftVoterResponse> for ResponseKind {
3952 fn from(value: AddRaftVoterResponse) -> ResponseKind {
3953 ResponseKind::AddRaftVoter(value)
3954 }
3955}
3956
3957#[cfg(feature = "messages_enums")]
3958impl From<RemoveRaftVoterResponse> for ResponseKind {
3959 fn from(value: RemoveRaftVoterResponse) -> ResponseKind {
3960 ResponseKind::RemoveRaftVoter(value)
3961 }
3962}
3963
3964#[cfg(feature = "messages_enums")]
3965impl From<UpdateRaftVoterResponse> for ResponseKind {
3966 fn from(value: UpdateRaftVoterResponse) -> ResponseKind {
3967 ResponseKind::UpdateRaftVoter(value)
3968 }
3969}
3970
3971#[cfg(feature = "messages_enums")]
3972impl From<InitializeShareGroupStateResponse> for ResponseKind {
3973 fn from(value: InitializeShareGroupStateResponse) -> ResponseKind {
3974 ResponseKind::InitializeShareGroupState(value)
3975 }
3976}
3977
3978#[cfg(feature = "messages_enums")]
3979impl From<ReadShareGroupStateResponse> for ResponseKind {
3980 fn from(value: ReadShareGroupStateResponse) -> ResponseKind {
3981 ResponseKind::ReadShareGroupState(value)
3982 }
3983}
3984
3985#[cfg(feature = "messages_enums")]
3986impl From<WriteShareGroupStateResponse> for ResponseKind {
3987 fn from(value: WriteShareGroupStateResponse) -> ResponseKind {
3988 ResponseKind::WriteShareGroupState(value)
3989 }
3990}
3991
3992#[cfg(feature = "messages_enums")]
3993impl From<DeleteShareGroupStateResponse> for ResponseKind {
3994 fn from(value: DeleteShareGroupStateResponse) -> ResponseKind {
3995 ResponseKind::DeleteShareGroupState(value)
3996 }
3997}
3998
3999#[cfg(feature = "messages_enums")]
4000impl From<ReadShareGroupStateSummaryResponse> for ResponseKind {
4001 fn from(value: ReadShareGroupStateSummaryResponse) -> ResponseKind {
4002 ResponseKind::ReadShareGroupStateSummary(value)
4003 }
4004}
4005
4006#[cfg(feature = "messages_enums")]
4007impl From<DescribeShareGroupOffsetsResponse> for ResponseKind {
4008 fn from(value: DescribeShareGroupOffsetsResponse) -> ResponseKind {
4009 ResponseKind::DescribeShareGroupOffsets(value)
4010 }
4011}
4012
4013#[cfg(feature = "messages_enums")]
4014impl From<AlterShareGroupOffsetsResponse> for ResponseKind {
4015 fn from(value: AlterShareGroupOffsetsResponse) -> ResponseKind {
4016 ResponseKind::AlterShareGroupOffsets(value)
4017 }
4018}
4019
4020#[cfg(feature = "messages_enums")]
4021impl From<DeleteShareGroupOffsetsResponse> for ResponseKind {
4022 fn from(value: DeleteShareGroupOffsetsResponse) -> ResponseKind {
4023 ResponseKind::DeleteShareGroupOffsets(value)
4024 }
4025}
4026
4027#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default, Copy)]
4029pub struct BrokerId(pub i32);
4030
4031impl From<i32> for BrokerId {
4032 fn from(other: i32) -> Self {
4033 Self(other)
4034 }
4035}
4036impl From<BrokerId> for i32 {
4037 fn from(other: BrokerId) -> Self {
4038 other.0
4039 }
4040}
4041impl std::borrow::Borrow<i32> for BrokerId {
4042 fn borrow(&self) -> &i32 {
4043 &self.0
4044 }
4045}
4046impl std::ops::Deref for BrokerId {
4047 type Target = i32;
4048 fn deref(&self) -> &Self::Target {
4049 &self.0
4050 }
4051}
4052impl std::cmp::PartialEq<i32> for BrokerId {
4053 fn eq(&self, other: &i32) -> bool {
4054 &self.0 == other
4055 }
4056}
4057impl std::cmp::PartialEq<BrokerId> for i32 {
4058 fn eq(&self, other: &BrokerId) -> bool {
4059 self == &other.0
4060 }
4061}
4062impl std::fmt::Debug for BrokerId {
4063 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4064 self.0.fmt(f)
4065 }
4066}
4067impl NewType<i32> for BrokerId {}
4068
4069#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
4071pub struct GroupId(pub StrBytes);
4072
4073impl From<StrBytes> for GroupId {
4074 fn from(other: StrBytes) -> Self {
4075 Self(other)
4076 }
4077}
4078impl From<GroupId> for StrBytes {
4079 fn from(other: GroupId) -> Self {
4080 other.0
4081 }
4082}
4083impl std::borrow::Borrow<StrBytes> for GroupId {
4084 fn borrow(&self) -> &StrBytes {
4085 &self.0
4086 }
4087}
4088impl std::ops::Deref for GroupId {
4089 type Target = StrBytes;
4090 fn deref(&self) -> &Self::Target {
4091 &self.0
4092 }
4093}
4094impl std::cmp::PartialEq<StrBytes> for GroupId {
4095 fn eq(&self, other: &StrBytes) -> bool {
4096 &self.0 == other
4097 }
4098}
4099impl std::cmp::PartialEq<GroupId> for StrBytes {
4100 fn eq(&self, other: &GroupId) -> bool {
4101 self == &other.0
4102 }
4103}
4104impl std::fmt::Debug for GroupId {
4105 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4106 self.0.fmt(f)
4107 }
4108}
4109impl NewType<StrBytes> for GroupId {}
4110
4111#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default, Copy)]
4113pub struct ProducerId(pub i64);
4114
4115impl From<i64> for ProducerId {
4116 fn from(other: i64) -> Self {
4117 Self(other)
4118 }
4119}
4120impl From<ProducerId> for i64 {
4121 fn from(other: ProducerId) -> Self {
4122 other.0
4123 }
4124}
4125impl std::borrow::Borrow<i64> for ProducerId {
4126 fn borrow(&self) -> &i64 {
4127 &self.0
4128 }
4129}
4130impl std::ops::Deref for ProducerId {
4131 type Target = i64;
4132 fn deref(&self) -> &Self::Target {
4133 &self.0
4134 }
4135}
4136impl std::cmp::PartialEq<i64> for ProducerId {
4137 fn eq(&self, other: &i64) -> bool {
4138 &self.0 == other
4139 }
4140}
4141impl std::cmp::PartialEq<ProducerId> for i64 {
4142 fn eq(&self, other: &ProducerId) -> bool {
4143 self == &other.0
4144 }
4145}
4146impl std::fmt::Debug for ProducerId {
4147 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4148 self.0.fmt(f)
4149 }
4150}
4151impl NewType<i64> for ProducerId {}
4152
4153#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
4155pub struct TopicName(pub StrBytes);
4156
4157impl From<StrBytes> for TopicName {
4158 fn from(other: StrBytes) -> Self {
4159 Self(other)
4160 }
4161}
4162impl From<TopicName> for StrBytes {
4163 fn from(other: TopicName) -> Self {
4164 other.0
4165 }
4166}
4167impl std::borrow::Borrow<StrBytes> for TopicName {
4168 fn borrow(&self) -> &StrBytes {
4169 &self.0
4170 }
4171}
4172impl std::ops::Deref for TopicName {
4173 type Target = StrBytes;
4174 fn deref(&self) -> &Self::Target {
4175 &self.0
4176 }
4177}
4178impl std::cmp::PartialEq<StrBytes> for TopicName {
4179 fn eq(&self, other: &StrBytes) -> bool {
4180 &self.0 == other
4181 }
4182}
4183impl std::cmp::PartialEq<TopicName> for StrBytes {
4184 fn eq(&self, other: &TopicName) -> bool {
4185 self == &other.0
4186 }
4187}
4188impl std::fmt::Debug for TopicName {
4189 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4190 self.0.fmt(f)
4191 }
4192}
4193impl NewType<StrBytes> for TopicName {}
4194
4195#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
4197pub struct TransactionalId(pub StrBytes);
4198
4199impl From<StrBytes> for TransactionalId {
4200 fn from(other: StrBytes) -> Self {
4201 Self(other)
4202 }
4203}
4204impl From<TransactionalId> for StrBytes {
4205 fn from(other: TransactionalId) -> Self {
4206 other.0
4207 }
4208}
4209impl std::borrow::Borrow<StrBytes> for TransactionalId {
4210 fn borrow(&self) -> &StrBytes {
4211 &self.0
4212 }
4213}
4214impl std::ops::Deref for TransactionalId {
4215 type Target = StrBytes;
4216 fn deref(&self) -> &Self::Target {
4217 &self.0
4218 }
4219}
4220impl std::cmp::PartialEq<StrBytes> for TransactionalId {
4221 fn eq(&self, other: &StrBytes) -> bool {
4222 &self.0 == other
4223 }
4224}
4225impl std::cmp::PartialEq<TransactionalId> for StrBytes {
4226 fn eq(&self, other: &TransactionalId) -> bool {
4227 self == &other.0
4228 }
4229}
4230impl std::fmt::Debug for TransactionalId {
4231 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4232 self.0.fmt(f)
4233 }
4234}
4235impl NewType<StrBytes> for TransactionalId {}