packages feed

periodic-common-1.1.7.0: src/Periodic/Types/ClientType.hs

{-# LANGUAGE OverloadedStrings #-}
module Periodic.Types.ClientType
  ( ClientType (..)
  ) where

import           Data.Binary

data ClientType = TypeClient
    | TypeWorker
    deriving (Eq, Show)

instance Binary ClientType where
  get = do
    tp <- getWord8
    case tp of
      1 -> pure TypeClient
      2 -> pure TypeWorker
      _ -> error $ "Error ClientType " ++ show tp

  put TypeClient = putWord8 1
  put TypeWorker = putWord8 2