A Writer is a client that creates Events and publishes them into Streams. A Reader is a client that Consumes events from Streams. We provide a Java library, which implements a convenient API for Writer and Reader applications to use. The client library encapsulates the wire protocol that is used to convey requests and responses between Pravega Clients and the Pravega service.