How to serialize deserialize a bloom filter from Guava for Protobuf?

31 views Asked by At

In my gRPC based Java service, I am creating a Bloom filter using Google Guava library. I want to send it to another service using Protocol Buffers as the serialization format. How can I best do that? I can perhaps convert it to byte array using following method, but seems inefficient. Is there a better way?

// Serialize BloomFilter to byte array
private static <T> byte[] bloomFilterToByteArray(BloomFilter<T> bloomFilter) {
    try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream)) {
        objectOutputStream.writeObject(bloomFilter);
        return byteArrayOutputStream.toByteArray();
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}
0

There are 0 answers