MCPcopy
hub / github.com/IBM/sarama / allocateResponseBody

Function allocateResponseBody

request.go:251–341  ·  view source on GitHub ↗

allocateResponseBody returns a fresh response struct for the given api key and version, or nil when the key is unknown. Not used at runtime, but mirrors allocateBody so the unittests and fuzz harness can drive every supported response decoder uniformly. nolint:unused lint:ignore U1000 -- used in _t

(key, version int16)

Source from the content-addressed store, hash-verified

249//nolint:unused
250//lint:ignore U1000 -- used in _test.go and fuzz tests but stored alongside allocateBody for convenience.
251func allocateResponseBody(key, version int16) protocolBody {
252 switch key {
253 case apiKeyProduce:
254 return &ProduceResponse{Version: version}
255 case apiKeyFetch:
256 return &FetchResponse{Version: version}
257 case apiKeyListOffsets:
258 return &OffsetResponse{Version: version}
259 case apiKeyMetadata:
260 return &MetadataResponse{Version: version}
261 case apiKeyOffsetCommit:
262 return &OffsetCommitResponse{Version: version}
263 case apiKeyOffsetFetch:
264 return &OffsetFetchResponse{Version: version}
265 case apiKeyFindCoordinator:
266 return &FindCoordinatorResponse{Version: version}
267 case apiKeyJoinGroup:
268 return &JoinGroupResponse{Version: version}
269 case apiKeyHeartbeat:
270 return &HeartbeatResponse{Version: version}
271 case apiKeyLeaveGroup:
272 return &LeaveGroupResponse{Version: version}
273 case apiKeySyncGroup:
274 return &SyncGroupResponse{Version: version}
275 case apiKeyDescribeGroups:
276 return &DescribeGroupsResponse{Version: version}
277 case apiKeyListGroups:
278 return &ListGroupsResponse{Version: version}
279 case apiKeySaslHandshake:
280 return &SaslHandshakeResponse{Version: version}
281 case apiKeyApiVersions:
282 return &ApiVersionsResponse{Version: version}
283 case apiKeyCreateTopics:
284 return &CreateTopicsResponse{Version: version}
285 case apiKeyDeleteTopics:
286 return &DeleteTopicsResponse{Version: version}
287 case apiKeyDeleteRecords:
288 return &DeleteRecordsResponse{Version: version}
289 case apiKeyInitProducerId:
290 return &InitProducerIDResponse{Version: version}
291 case apiKeyAddPartitionsToTxn:
292 return &AddPartitionsToTxnResponse{Version: version}
293 case apiKeyAddOffsetsToTxn:
294 return &AddOffsetsToTxnResponse{Version: version}
295 case apiKeyEndTxn:
296 return &EndTxnResponse{Version: version}
297 case apiKeyTxnOffsetCommit:
298 return &TxnOffsetCommitResponse{Version: version}
299 case apiKeyDescribeAcls:
300 return &DescribeAclsResponse{Version: version}
301 case apiKeyCreateAcls:
302 return &CreateAclsResponse{Version: version}
303 case apiKeyDeleteAcls:
304 return &DeleteAclsResponse{Version: version}
305 case apiKeyDescribeConfigs:
306 return &DescribeConfigsResponse{Version: version}
307 case apiKeyAlterConfigs:
308 return &AlterConfigsResponse{Version: version}

Callers 2

Calls

no outgoing calls

Tested by 2