\begin{code}
{-# LANGUAGE Safe #-}
module Network.Tox.DHT.ClientNode where
import Control.Applicative ((<$>), (<*>))
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
import Network.Tox.NodeInfo.NodeInfo (NodeInfo)
import Network.Tox.Time (Timestamp)
data ClientNode = ClientNode
{ nodeInfo :: NodeInfo
, lastCheck :: Timestamp
, checkCount :: Int
}
deriving (Eq, Read, Show)
newNode :: Timestamp -> NodeInfo -> ClientNode
newNode time node = ClientNode node time 0
instance Arbitrary ClientNode where
arbitrary = ClientNode <$> arbitrary <*> arbitrary <*> arbitrary
\end{code}