hs-tls/core/Network/TLS/Record.hs
2013-07-27 08:32:27 +01:00

42 lines
1.1 KiB
Haskell

-- |
-- 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 manipulation types
, Fragment
, fragmentGetBytes
, fragmentPlaintext
, fragmentCiphertext
, recordToRaw
, rawToRecord
, recordToHeader
, Plaintext
, Compressed
, Ciphertext
-- * Engage and disengage from the record layer
, engageRecord
, disengageRecord
-- * State tracking
, RecordM
, runRecordM
, RecordState(..)
, newRecordState
, getRecordVersion
, setRecordIV
) where
import Network.TLS.Record.Types
import Network.TLS.Record.Engage
import Network.TLS.Record.Disengage
import Network.TLS.Record.State