module Network.TLS.Record
    ( Record(..)
    
    , Fragment
    , fragmentPlaintext
    , fragmentCiphertext
    , recordToRaw
    , rawToRecord
    , recordToHeader
    , Plaintext
    , Compressed
    , Ciphertext
    
    , engageRecord
    , disengageRecord
    
    , 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