module Capnp.Rpc.Common
  ( Client (..),
    Pipeline (..),
  )
where

import qualified Internal.Rpc.Breaker as Rpc

-- | A @'Pipeline' a@ is a reference to possibly-not-resolved result from
-- a method call.
newtype Pipeline a = Pipeline Rpc.Pipeline

newtype Client a = Client Rpc.Client
  deriving (Int -> Client a -> ShowS
forall a. Int -> Client a -> ShowS
forall a. [Client a] -> ShowS
forall a. Client a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Client a] -> ShowS
$cshowList :: forall a. [Client a] -> ShowS
show :: Client a -> String
$cshow :: forall a. Client a -> String
showsPrec :: Int -> Client a -> ShowS
$cshowsPrec :: forall a. Int -> Client a -> ShowS
Show, Client a -> Client a -> Bool
forall a. Client a -> Client a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Client a -> Client a -> Bool
$c/= :: forall a. Client a -> Client a -> Bool
== :: Client a -> Client a -> Bool
$c== :: forall a. Client a -> Client a -> Bool
Eq)