-- |
-- Module      : Network.TLS.Record
-- License     : BSD-style
-- Maintainer  : Vincent Hanquez <vincent@snarc.org>
-- Stability   : experimental
-- Portability : unknown
--
-- The Record Protocol takes messages to be transmitted, fragments the
-- data into manageable blocks, optionally compresses the data, applies
-- a MAC, encrypts, and transmits the result.  Received data is
-- decrypted, verified, decompressed, reassembled, and then delivered to
-- higher-level clients.
--
module Network.TLS.Record
        ( Record(..)
        , Fragment
        , fragmentGetBytes
        , fragmentPlaintext
        , fragmentCiphertext
        , recordToRaw
        , rawToRecord
        , recordToHeader
        , Plaintext
        , Compressed
        , Ciphertext
        , engageRecord
        , disengageRecord
        ) where

import Network.TLS.Record.Types
import Network.TLS.Record.Engage
import Network.TLS.Record.Disengage