@Override public List<ProtocolMetadata> metadata() { this.joinedSubscription = subscriptions.subscription(); List<ProtocolMetadata> metadataList = new ArrayList<>(); for (PartitionAssignor assignor : assignors) { Subscription subscription = assignor.subscription(joinedSubscription); ByteBuffer metadata = ConsumerProtocol.serializeSubscription(subscription); metadataList.add(new ProtocolMetadata(assignor.name(), metadata)); } return metadataList; }
@Override protected List<JoinGroupRequest.ProtocolMetadata> metadata() { return Collections.singletonList(new JoinGroupRequest.ProtocolMetadata("dummy-subprotocol", EMPTY_DATA)); }
private JoinGroupRequest createJoinGroupRequest(int version) { ByteBuffer metadata = ByteBuffer.wrap(new byte[] {}); List<JoinGroupRequest.ProtocolMetadata> protocols = new ArrayList<>(); protocols.add(new JoinGroupRequest.ProtocolMetadata("consumer-range", metadata)); if (version == 0) { return new JoinGroupRequest.Builder("group1", 30000, "consumer1", "consumer", protocols). build((short) version); } else { return new JoinGroupRequest.Builder("group1", 10000, "consumer1", "consumer", protocols). setRebalanceTimeout(60000).build(); } }
@Override public List<ProtocolMetadata> metadata() { configSnapshot = configStorage.snapshot(); ConnectProtocol.WorkerState workerState = new ConnectProtocol.WorkerState(restUrl, configSnapshot.offset()); ByteBuffer metadata = ConnectProtocol.serializeMetadata(workerState); return Collections.singletonList(new ProtocolMetadata(DEFAULT_SUBPROTOCOL, metadata)); }
@Override public List<ProtocolMetadata> metadata() { configSnapshot = taskConfigManager.snapshot(); DatalinkProtocol.WorkerState workerState = new DatalinkProtocol.WorkerState(restUrl, configSnapshot.version()); ByteBuffer metadata = DatalinkProtocol.serializeMetadata(workerState); return Collections.singletonList(new ProtocolMetadata(DEFAULT_SUBPROTOCOL, metadata)); }
public JoinGroupRequest(Struct struct, short versionId) { super(ApiKeys.JOIN_GROUP, versionId); groupId = struct.get(GROUP_ID); sessionTimeout = struct.getInt(SESSION_TIMEOUT_KEY_NAME); if (struct.hasField(REBALANCE_TIMEOUT_KEY_NAME)) // rebalance timeout is added in v1 rebalanceTimeout = struct.getInt(REBALANCE_TIMEOUT_KEY_NAME); else // v0 had no rebalance timeout but used session timeout implicitly rebalanceTimeout = sessionTimeout; memberId = struct.get(MEMBER_ID); protocolType = struct.getString(PROTOCOL_TYPE_KEY_NAME); groupProtocols = new ArrayList<>(); for (Object groupProtocolObj : struct.getArray(GROUP_PROTOCOLS_KEY_NAME)) { Struct groupProtocolStruct = (Struct) groupProtocolObj; String name = groupProtocolStruct.getString(PROTOCOL_NAME_KEY_NAME); ByteBuffer metadata = groupProtocolStruct.getBytes(PROTOCOL_METADATA_KEY_NAME); groupProtocols.add(new ProtocolMetadata(name, metadata)); } }