module UnliftIO.MessageBox
( module UnliftIO.MessageBox.Class,
module UnliftIO.MessageBox.Limited,
module UnliftIO.MessageBox.Unlimited,
module UnliftIO.MessageBox.CatchAll,
module UnliftIO.MessageBox.Command,
module UnliftIO.MessageBox.Util.CallId,
module UnliftIO.MessageBox.Util.Fresh,
module UnliftIO.MessageBox.Util.Future,
)
where
import UnliftIO.MessageBox.CatchAll
( CatchAllArg (..),
CatchAllBox (..),
CatchAllInput (..),
)
import UnliftIO.MessageBox.Class
( IsInput (..),
IsMessageBox (..),
IsMessageBoxArg (..),
handleMessage,
)
import UnliftIO.MessageBox.Command
( AsyncReply,
Command,
CommandError (..),
DuplicateReply (..),
Message (..),
ReplyBox,
ReturnType (..),
call,
callAsync,
cast,
delegateCall,
replyTo,
tryTakeReply,
waitForReply,
)
import UnliftIO.MessageBox.Limited
( BlockingBox (),
BlockingBoxLimit (..),
BlockingInput (),
MessageLimit (..),
NonBlockingBox (),
NonBlockingBoxLimit (..),
NonBlockingInput (..),
WaitingBox (..),
WaitingBoxLimit (..),
WaitingInput (..),
messageLimitToInt,
)
import UnliftIO.MessageBox.Unlimited
( BlockingUnlimited (..),
UnlimitedBox,
UnlimitedBoxInput,
)
import UnliftIO.MessageBox.Util.CallId
( CallId (..),
HasCallIdCounter (..),
newCallIdCounter,
takeNext,
)
import UnliftIO.MessageBox.Util.Fresh
( CounterVar,
HasCounterVar (..),
fresh,
incrementAndGet,
newCounterVar,
)
import UnliftIO.MessageBox.Util.Future
( Future (..),
awaitFuture,
tryNow,
)