'Constructor.
Args:
readers_private_key: The private key of the destined reader of this
stream. The stream will be decrypted with the readers private key.
writers_public_key: The public_key of the writer of this stream. Data\'s
signature will be verified using this public key.
outfd: A file like object we write to. This must be opened for writing.'

def __init__(self, readers_private_key, writers_public_key, outfd):

    self.outfd = outfd
    self.readers_private_key = readers_private_key
    self.writers_public_key = writers_public_key
    self.header = None
    self.part_end = None
    self.buffer = BufferedReader()
    self.cipher = None
