{-# LANGUAGE   DeriveDataTypeable #-}

module Data.TCache.Defs where
import Data.Typeable
import Control.Concurrent.STM(TVar)
	

	
type AccessTime = Integer
type ModifTime  = Integer


data Status a= NotRead | DoNotExist | Exist a deriving Typeable

data Elem a= Elem a AccessTime ModifTime   deriving Typeable

type TPVar a=   TVar (Status(Elem a))

data DBRef a= DBRef String  (TPVar a)  deriving Typeable