@Override public AccessToken decode(byte[] data) throws IOException { ByteArrayInputStream bis = new ByteArrayInputStream(data); Decoder decoder = new BinaryDecoder(bis); DatumReader<AccessToken> reader = readerFactory.create(ACCESS_TOKEN_TYPE, AccessToken.Schemas.getCurrentSchema()); int readVersion = decoder.readInt(); Schema readSchema = AccessToken.Schemas.getSchemaVersion(readVersion); if (readSchema == null) { throw new IOException("Unknown schema version for AccessToken: " + readVersion); } return reader.read(decoder, readSchema); } }
@Override public AccessTokenIdentifier decode(byte[] data) throws IOException { ByteArrayInputStream bis = new ByteArrayInputStream(data); Decoder decoder = new BinaryDecoder(bis); DatumReader<AccessTokenIdentifier> reader = readerFactory.create(ACCESS_TOKEN_IDENTIFIER_TYPE, AccessTokenIdentifier.Schemas.getCurrentSchema()); int readVersion = decoder.readInt(); Schema readSchema = AccessTokenIdentifier.Schemas.getSchemaVersion(readVersion); if (readSchema == null) { throw new IOException("Unknown schema version for AccessTokenIdentifier: " + readVersion); } return reader.read(decoder, readSchema); }
@Override public KeyIdentifier decode(byte[] data) throws IOException { ByteArrayInputStream bis = new ByteArrayInputStream(data); Decoder decoder = new BinaryDecoder(bis); DatumReader<KeyIdentifier> reader = readerFactory.create(KEY_IDENTIFIER_TYPE, KeyIdentifier.Schemas.getCurrentSchema()); int readVersion = decoder.readInt(); Schema readSchema = KeyIdentifier.Schemas.getSchemaVersion(readVersion); if (readSchema == null) { throw new IOException("Unknown schema version for KeyIdentifier: " + readVersion); } return reader.read(decoder, readSchema); } }
try { payloadInput.reset(input.getPayload()); MetricValues metricValues = metricReader.read(decoder, metricSchema); if (!metricsFromAllTopics.offer(metricValues)) { break;
try { payloadInput.reset(input.getPayload()); MetricValues metricValues = metricReader.read(decoder, metricSchema); if (!metricsFromAllTopics.offer(metricValues)) { break;