1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
-- |
-- 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
|