packages feed

loshadka-0.2: Network/Loshadka/Message.hs

module Network.Loshadka.Message (pack) where

import Prelude hiding (length)
import Data.ByteString.Lazy.Char8 (ByteString, append, cons, length)
import Data.Binary (encode)
import Data.Int (Int8)

pack :: ByteString -> ByteString
pack m = packData $ cons '\NUL' (packData m)
  where packData d = append (packInt $ length d) d
        packInt i = encode (fromIntegral i :: Int8)