@Override public void encode(byte[] value, OutputStream outStream) throws IOException, CoderException { encode(value, outStream, Context.NESTED); }
@Override public void encode(BigInteger value, OutputStream outStream, Context context) throws IOException, CoderException { checkNotNull(value, String.format("cannot encode a null %s", BigInteger.class.getSimpleName())); BYTE_ARRAY_CODER.encode(value.toByteArray(), outStream, context); }
@Override public void encode(ValueWithRecordId<ValueT> value, OutputStream outStream, Context context) throws IOException { valueCoder.encode(value.value, outStream); idCoder.encode(value.id, outStream, context); }
@Override public void snapshotKeyGroupState(int keyGroupIndex, DataOutputStream out) throws Exception { Set<ByteBuffer> ids = dedupingCache.get(keyGroupIndex).asMap().keySet(); VarIntCoder.of().encode(ids.size(), out, Context.NESTED); for (ByteBuffer id : ids) { ByteArrayCoder.of().encode(id.array(), out, Context.NESTED); } }
@Override public void encode(T value, OutputStream os) throws IOException { ByteArrayCoder.of() .encode(Snappy.compress(CoderUtils.encodeToByteArray(innerCoder, value)), os); }
@Override public void encode(OutgoingMessage value, OutputStream outStream) throws CoderException, IOException { ByteArrayCoder.of().encode(value.elementBytes, outStream); ATTRIBUTES_CODER.encode(value.attributes, outStream); BigEndianLongCoder.of().encode(value.timestampMsSinceEpoch, outStream); RECORD_ID_CODER.encode(value.recordId, outStream); }
@Override public void encode(IsmRecord<V> value, OutputStream outStream) throws CoderException, IOException { if (value.getKeyComponents().size() != keyComponentCoders.size()) { throw new CoderException( String.format( "Expected %s key component(s) but received key component(s) %s.", keyComponentCoders.size(), value.getKeyComponents())); } for (int i = 0; i < keyComponentCoders.size(); ++i) { getKeyComponentCoder(i).encode(value.getKeyComponent(i), outStream); } if (isMetadataKey(value.getKeyComponents())) { ByteArrayCoder.of().encode(value.getMetadata(), outStream); } else { valueCoder.encode(value.getValue(), outStream); } }
private BufferedElementCountingOutputStream createAndWriteValues( List<byte[]> values, OutputStream output) throws Exception { BufferedElementCountingOutputStream os = new BufferedElementCountingOutputStream(output, BUFFER_SIZE); for (byte[] value : values) { os.markElementStart(); ByteArrayCoder.of().encode(value, os); } return os; } }
@Override public void encode(KinesisRecord value, OutputStream outStream) throws IOException { BYTE_ARRAY_CODER.encode(value.getData().array(), outStream); STRING_CODER.encode(value.getSequenceNumber(), outStream); STRING_CODER.encode(value.getPartitionKey(), outStream); INSTANT_CODER.encode(value.getApproximateArrivalTimestamp(), outStream); VAR_LONG_CODER.encode(value.getSubSequenceNumber(), outStream); INSTANT_CODER.encode(value.getReadTime(), outStream); STRING_CODER.encode(value.getStreamName(), outStream); STRING_CODER.encode(value.getShardId(), outStream); }