use of org.apache.kafka.common.protocol.types.Struct in project kafka by apache.
the class StopReplicaResponse method toStruct.
@Override
protected Struct toStruct(short version) {
Struct struct = new Struct(ApiKeys.STOP_REPLICA.responseSchema(version));
List<Struct> responseDatas = new ArrayList<>(responses.size());
for (Map.Entry<TopicPartition, Errors> response : responses.entrySet()) {
Struct partitionData = struct.instance(PARTITIONS_KEY_NAME);
TopicPartition partition = response.getKey();
partitionData.set(PARTITIONS_TOPIC_KEY_NAME, partition.topic());
partitionData.set(PARTITIONS_PARTITION_KEY_NAME, partition.partition());
partitionData.set(PARTITIONS_ERROR_CODE_KEY_NAME, response.getValue().code());
responseDatas.add(partitionData);
}
struct.set(PARTITIONS_KEY_NAME, responseDatas.toArray());
struct.set(ERROR_CODE_KEY_NAME, error.code());
return struct;
}
use of org.apache.kafka.common.protocol.types.Struct in project kafka by apache.
the class UpdateMetadataResponse method toStruct.
@Override
protected Struct toStruct(short version) {
Struct struct = new Struct(ApiKeys.UPDATE_METADATA_KEY.responseSchema(version));
struct.set(ERROR_CODE_KEY_NAME, error.code());
return struct;
}
use of org.apache.kafka.common.protocol.types.Struct in project kafka by apache.
the class DeleteTopicsRequest method toStruct.
@Override
protected Struct toStruct() {
Struct struct = new Struct(ApiKeys.DELETE_TOPICS.requestSchema(version()));
struct.set(TOPICS_KEY_NAME, topics.toArray());
struct.set(TIMEOUT_KEY_NAME, timeout);
return struct;
}
use of org.apache.kafka.common.protocol.types.Struct in project kafka by apache.
the class DescribeGroupsResponse method toStruct.
@Override
protected Struct toStruct(short version) {
Struct struct = new Struct(ApiKeys.DESCRIBE_GROUPS.responseSchema(version));
List<Struct> groupStructs = new ArrayList<>();
for (Map.Entry<String, GroupMetadata> groupEntry : groups.entrySet()) {
Struct groupStruct = struct.instance(GROUPS_KEY_NAME);
GroupMetadata group = groupEntry.getValue();
groupStruct.set(GROUP_ID_KEY_NAME, groupEntry.getKey());
groupStruct.set(ERROR_CODE_KEY_NAME, group.error.code());
groupStruct.set(GROUP_STATE_KEY_NAME, group.state);
groupStruct.set(PROTOCOL_TYPE_KEY_NAME, group.protocolType);
groupStruct.set(PROTOCOL_KEY_NAME, group.protocol);
List<Struct> membersList = new ArrayList<>();
for (GroupMember member : group.members) {
Struct memberStruct = groupStruct.instance(MEMBERS_KEY_NAME);
memberStruct.set(MEMBER_ID_KEY_NAME, member.memberId);
memberStruct.set(CLIENT_ID_KEY_NAME, member.clientId);
memberStruct.set(CLIENT_HOST_KEY_NAME, member.clientHost);
memberStruct.set(MEMBER_METADATA_KEY_NAME, member.memberMetadata);
memberStruct.set(MEMBER_ASSIGNMENT_KEY_NAME, member.memberAssignment);
membersList.add(memberStruct);
}
groupStruct.set(MEMBERS_KEY_NAME, membersList.toArray());
groupStructs.add(groupStruct);
}
struct.set(GROUPS_KEY_NAME, groupStructs.toArray());
return struct;
}
use of org.apache.kafka.common.protocol.types.Struct in project kafka by apache.
the class FetchRequest method toStruct.
@Override
protected Struct toStruct() {
short version = version();
Struct struct = new Struct(ApiKeys.FETCH.requestSchema(version));
List<TopicAndPartitionData<PartitionData>> topicsData = TopicAndPartitionData.batchByTopic(fetchData);
struct.set(REPLICA_ID_KEY_NAME, replicaId);
struct.set(MAX_WAIT_KEY_NAME, maxWait);
struct.set(MIN_BYTES_KEY_NAME, minBytes);
if (version >= 3)
struct.set(MAX_BYTES_KEY_NAME, maxBytes);
List<Struct> topicArray = new ArrayList<>();
for (TopicAndPartitionData<PartitionData> topicEntry : topicsData) {
Struct topicData = struct.instance(TOPICS_KEY_NAME);
topicData.set(TOPIC_KEY_NAME, topicEntry.topic);
List<Struct> partitionArray = new ArrayList<>();
for (Map.Entry<Integer, PartitionData> partitionEntry : topicEntry.partitions.entrySet()) {
PartitionData fetchPartitionData = partitionEntry.getValue();
Struct partitionData = topicData.instance(PARTITIONS_KEY_NAME);
partitionData.set(PARTITION_KEY_NAME, partitionEntry.getKey());
partitionData.set(FETCH_OFFSET_KEY_NAME, fetchPartitionData.offset);
partitionData.set(MAX_BYTES_KEY_NAME, fetchPartitionData.maxBytes);
partitionArray.add(partitionData);
}
topicData.set(PARTITIONS_KEY_NAME, partitionArray.toArray());
topicArray.add(topicData);
}
struct.set(TOPICS_KEY_NAME, topicArray.toArray());
return struct;
}
Aggregations