rattletrap-0.1.0: library/Rattletrap/Message.hs
module Rattletrap.Message where
import Rattletrap.Text
import Rattletrap.Word32
import qualified Data.Binary as Binary
data Message = Message
{ messageFrame :: Word32
, messageName :: Text
, messageValue :: Text
} deriving (Eq, Ord, Show)
getMessage :: Binary.Get Message
getMessage = do
frame <- getWord32
name <- getText
value <- getText
pure Message {messageFrame = frame, messageName = name, messageValue = value}
putMessage :: Message -> Binary.Put
putMessage message = do
putWord32 (messageFrame message)
putText (messageName message)
putText (messageValue message)