octane-0.1.0: library/Octane/Types/CacheItem.hs
module Octane.Types.CacheItem (CacheItem(..)) where
import Octane.Core
import Octane.Types.CacheProperty
import Octane.Types.Int32LE
import Octane.Types.List
data CacheItem = NewCacheItem
{ cacheItemTag :: Int32LE
, cacheItemStart :: Int32LE
, cacheItemEnd :: Int32LE
, cacheItemCacheProperties :: List CacheProperty
} deriving (Show)
instance Binary CacheItem where
get = do
tag <- get
start <- get
end <- get
cacheProperties <- get
return NewCacheItem
{ cacheItemTag = tag
, cacheItemStart = start
, cacheItemEnd = end
, cacheItemCacheProperties = cacheProperties
}
put cacheItem = do
cacheItem & cacheItemTag & put
cacheItem & cacheItemStart & put
cacheItem & cacheItemEnd & put
cacheItem & cacheItemCacheProperties & put