distributed-process-client-server 0.2.5.1 → 0.2.6.0
raw patch · 8 files changed
+116/−54 lines, 8 filesdep −derivedep −template-haskelldep −uniplatedep ~basedep ~binarydep ~containerssetup-changednew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: derive, template-haskell, uniplate
Dependency ranges changed: base, binary, containers, deepseq, distributed-process-systest, exceptions, hashable, network, network-transport-tcp, stm, time
API changes (from Hackage documentation)
+ Control.Distributed.Process.ManagedProcess: act :: forall s. GenProcess s () -> Action s
+ Control.Distributed.Process.ManagedProcess: addUserTimer :: Timer -> Message -> GenProcess s TimerKey
+ Control.Distributed.Process.ManagedProcess: currentTimeout :: GenProcess s Delay
+ Control.Distributed.Process.ManagedProcess: data DispatchFilter s
+ Control.Distributed.Process.ManagedProcess: data Filter s
+ Control.Distributed.Process.ManagedProcess: data GenProcess s a
+ Control.Distributed.Process.ManagedProcess: data Message a b
+ Control.Distributed.Process.ManagedProcess: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess: peek :: GenProcess s (Maybe Message)
+ Control.Distributed.Process.ManagedProcess: processDefinition :: GenProcess s (ProcessDefinition s)
+ Control.Distributed.Process.ManagedProcess: processFilters :: GenProcess s [DispatchFilter s]
+ Control.Distributed.Process.ManagedProcess: processState :: GenProcess s s
+ Control.Distributed.Process.ManagedProcess: processUnhandledMsgPolicy :: GenProcess s UnhandledMessagePolicy
+ Control.Distributed.Process.ManagedProcess: push :: forall s. Message -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: setProcessState :: s -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: setUserTimeout :: Delay -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess: chanServe :: (Serializable b) => a -> InitHandler a s -> (ControlChannel b -> Process (ProcessDefinition s)) -> Process ()
+ Control.Distributed.Process.ManagedProcess: chanServe :: Serializable b => a -> InitHandler a s -> (ControlChannel b -> Process (ProcessDefinition s)) -> Process ()
- Control.Distributed.Process.ManagedProcess: newControlChan :: (Serializable m) => Process (ControlChannel m)
+ Control.Distributed.Process.ManagedProcess: newControlChan :: Serializable m => Process (ControlChannel m)
- Control.Distributed.Process.ManagedProcess.Client: callSTM :: forall s a b. (Addressable s) => s -> (a -> STM ()) -> STM b -> a -> Process (Either ExitReason b)
+ Control.Distributed.Process.ManagedProcess.Client: callSTM :: forall s a b. Addressable s => s -> (a -> STM ()) -> STM b -> a -> Process (Either ExitReason b)
- Control.Distributed.Process.ManagedProcess.Client: flushPendingCalls :: forall b. (Serializable b) => TimeInterval -> (b -> Process b) -> Process (Maybe b)
+ Control.Distributed.Process.ManagedProcess.Client: flushPendingCalls :: forall b. Serializable b => TimeInterval -> (b -> Process b) -> Process (Maybe b)
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Internal.Types: CallMessage :: a -> (CallRef b) -> Message a b
+ Control.Distributed.Process.ManagedProcess.Internal.Types: CallMessage :: a -> CallRef b -> Message a b
- Control.Distributed.Process.ManagedProcess.Internal.Types: ChanMessage :: a -> (SendPort b) -> Message a b
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ChanMessage :: a -> SendPort b -> Message a b
- Control.Distributed.Process.ManagedProcess.Internal.Types: NoReply :: (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: NoReply :: ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessActivity :: (GenProcess s ()) -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessActivity :: GenProcess s () -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessBecome :: (ProcessDefinition s) -> s -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessBecome :: ProcessDefinition s -> s -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessExpression :: (GenProcess s (ProcessAction s)) -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessExpression :: GenProcess s (ProcessAction s) -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReject :: String -> (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReject :: String -> ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReply :: r -> (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReply :: r -> ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: newControlChan :: (Serializable m) => Process (ControlChannel m)
+ Control.Distributed.Process.ManagedProcess.Internal.Types: newControlChan :: Serializable m => Process (ControlChannel m)
- Control.Distributed.Process.ManagedProcess.Internal.Types: waitResponse :: forall b. (Serializable b) => Maybe TimeInterval -> CallRef b -> Process (Maybe (Either ExitReason b))
+ Control.Distributed.Process.ManagedProcess.Internal.Types: waitResponse :: forall b. Serializable b => Maybe TimeInterval -> CallRef b -> Process (Maybe (Either ExitReason b))
- Control.Distributed.Process.ManagedProcess.Server: action :: forall s a. (Serializable a) => StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: action :: forall s a. Serializable a => StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: continue_ :: (s -> Action s)
+ Control.Distributed.Process.ManagedProcess.Server: continue_ :: s -> Action s
- Control.Distributed.Process.ManagedProcess.Server: handleCallExternal :: forall s r w. (Serializable r) => STM r -> (w -> STM ()) -> CallHandler s r w -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCallExternal :: forall s r w. Serializable r => STM r -> (w -> STM ()) -> CallHandler s r w -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCast :: (Serializable a) => CastHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCast :: Serializable a => CastHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCastIf :: forall s a. (Serializable a) => Condition s a -> CastHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCastIf :: forall s a. Serializable a => Condition s a -> CastHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCastIf_ :: forall s a. (Serializable a) => Condition s a -> StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCastIf_ :: forall s a. Serializable a => Condition s a -> StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCast_ :: (Serializable a) => StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCast_ :: Serializable a => StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleControlChan :: forall s a. (Serializable a) => ControlChannel a -> ActionHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleControlChan :: forall s a. Serializable a => ControlChannel a -> ActionHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleControlChan_ :: forall s a. (Serializable a) => ControlChannel a -> StatelessHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleControlChan_ :: forall s a. Serializable a => ControlChannel a -> StatelessHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleDispatch :: forall s a. (Serializable a) => ActionHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleDispatch :: forall s a. Serializable a => ActionHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleDispatchIf :: forall s a. (Serializable a) => Condition s a -> ActionHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleDispatchIf :: forall s a. Serializable a => Condition s a -> ActionHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExit :: forall s a. (Serializable a) => (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExit :: forall s a. Serializable a => (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExitIf :: forall s a. (Serializable a) => (s -> a -> Bool) -> (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExitIf :: forall s a. Serializable a => (s -> a -> Bool) -> (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExternal :: forall s a. (Serializable a) => STM a -> ActionHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExternal :: forall s a. Serializable a => STM a -> ActionHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExternal_ :: forall s a. (Serializable a) => STM a -> StatelessHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExternal_ :: forall s a. Serializable a => STM a -> StatelessHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleInfo :: forall s a. (Serializable a) => ActionHandler s a -> DeferredDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleInfo :: forall s a. Serializable a => ActionHandler s a -> DeferredDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: input :: forall s m. (Serializable m) => (m -> Bool) -> Condition s m
+ Control.Distributed.Process.ManagedProcess.Server: input :: forall s m. Serializable m => (m -> Bool) -> Condition s m
- Control.Distributed.Process.ManagedProcess.Server: noReply :: (Serializable r) => ProcessAction s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: noReply :: Serializable r => ProcessAction s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: noReply_ :: forall s r. (Serializable r) => s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: noReply_ :: forall s r. Serializable r => s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: rejectWith :: forall r m s. (Show r) => s -> r -> Reply m s
+ Control.Distributed.Process.ManagedProcess.Server: rejectWith :: forall r m s. Show r => s -> r -> Reply m s
- Control.Distributed.Process.ManagedProcess.Server: reply :: (Serializable r) => r -> s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: reply :: Serializable r => r -> s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: replyChan :: (Serializable m) => SendPort m -> m -> Process ()
+ Control.Distributed.Process.ManagedProcess.Server: replyChan :: Serializable m => SendPort m -> m -> Process ()
- Control.Distributed.Process.ManagedProcess.Server: replyTo :: (Serializable m) => CallRef m -> m -> Process ()
+ Control.Distributed.Process.ManagedProcess.Server: replyTo :: Serializable m => CallRef m -> m -> Process ()
- Control.Distributed.Process.ManagedProcess.Server: replyWith :: (Serializable r) => r -> ProcessAction s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: replyWith :: Serializable r => r -> ProcessAction s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: state :: forall s m. (Serializable m) => (s -> Bool) -> Condition s m
+ Control.Distributed.Process.ManagedProcess.Server: state :: forall s m. Serializable m => (s -> Bool) -> Condition s m
- Control.Distributed.Process.ManagedProcess.Server.Gen: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Server.Gen: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Server.Gen: noReply :: (Serializable r) => ProcessAction s -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: noReply :: Serializable r => ProcessAction s -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Server.Gen: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Server.Gen: rejectWith :: forall r m s. (Show r) => r -> GenProcess s (ProcessReply m s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: rejectWith :: forall r m s. Show r => r -> GenProcess s (ProcessReply m s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: reply :: forall r s. (Serializable r) => r -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: reply :: forall r s. Serializable r => r -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: replyWith :: forall r s. (Serializable r) => r -> ProcessAction s -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: replyWith :: forall r s. Serializable r => r -> ProcessAction s -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Server.Gen: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Server.Priority: ensureM :: forall s m. (Serializable m) => (s -> m -> Process Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: ensureM :: forall s m. Serializable m => (s -> m -> Process Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Server.Priority: info :: forall s m. (Serializable m) => (s -> m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: info :: forall s m. Serializable m => (s -> m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
- Control.Distributed.Process.ManagedProcess.Server.Priority: info_ :: forall s m. (Serializable m) => (m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: info_ :: forall s m. Serializable m => (m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast :: forall s a. (Serializable a) => (s -> a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast :: forall s a. Serializable a => (s -> a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast_ :: forall s a. (Serializable a) => (a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast_ :: forall s a. Serializable a => (a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo :: forall s a. (Serializable a) => (s -> a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo :: forall s a. Serializable a => (s -> a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo_ :: forall s a. (Serializable a) => (a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo_ :: forall s a. Serializable a => (a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Server.Priority: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Server.Priority: refuse :: forall s m. (Serializable m) => (m -> Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: refuse :: forall s m. Serializable m => (m -> Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: reject :: forall s m r. (Show r) => r -> s -> m -> Process (Filter s)
+ Control.Distributed.Process.ManagedProcess.Server.Priority: reject :: forall s m r. Show r => r -> s -> m -> Process (Filter s)
- Control.Distributed.Process.ManagedProcess.Server.Priority: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Server.Priority: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Server.Priority: safe :: forall s m. (Serializable m) => (s -> m -> Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: safe :: forall s m. Serializable m => (s -> m -> Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: storeM :: forall s m. (Serializable m) => (s -> m -> Process s) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: storeM :: forall s m. Serializable m => (s -> m -> Process s) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: haltNoReply :: forall s r. (Serializable r) => ExitReason -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: haltNoReply :: forall s r. Serializable r => ExitReason -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCast :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCast :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCastIf :: forall s a. (Serializable a) => Condition s a -> (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCastIf :: forall s a. Serializable a => Condition s a -> (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleExit :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleExit :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleInfo :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> DeferredDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleInfo :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> DeferredDispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: noReply :: forall s r. (Serializable r) => Result r -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: noReply :: forall s r. Serializable r => Result r -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.Server.Restricted: reply :: forall s r. (Serializable r) => r -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: reply :: forall s r. Serializable r => r -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.UnsafeClient: flushPendingCalls :: forall b. (NFSerializable b) => TimeInterval -> (b -> Process b) -> Process (Maybe b)
+ Control.Distributed.Process.ManagedProcess.UnsafeClient: flushPendingCalls :: forall b. NFSerializable b => TimeInterval -> (b -> Process b) -> Process (Maybe b)
Files
- CHANGELOG.md +70/−0
- Setup.lhs +0/−3
- distributed-process-client-server.cabal +41/−33
- src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs +0/−2
- tests/ManagedProcessCommon.hs +1/−4
- tests/TestManagedProcess.hs +1/−4
- tests/TestPrioritisedProcess.hs +1/−4
- tests/TestUtils.hs +2/−4
+ CHANGELOG.md view
@@ -0,0 +1,70 @@+# Change Log++2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.6.0++* Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1+* Updated links to point to Distributed Haskell monorepo++## [v0.2.5.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.5.1) (2018-06-14)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.3...v0.2.5.1)++* Update version bounds.+* Support exceptions-0.10.+++## [v0.2.3](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.3) (2017-03-28)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.2...v0.2.3)++## [v0.2.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.2) (2017-03-27)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.1...v0.2.2)++## [v0.2.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.1) (2017-03-22)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.0...v0.2.1)++**Merged pull requests:**++- Implement ProcessBecome [\#18](https://github.com/haskell-distributed/distributed-process-client-server/pull/18) ([hyperthunk](https://github.com/hyperthunk))+- Safe Handler Execution [\#17](https://github.com/haskell-distributed/distributed-process-client-server/pull/17) ([hyperthunk](https://github.com/hyperthunk))++## [v0.2.0](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.0) (2017-03-13)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.3.2...v0.2.0)++**Closed issues:**++- Read external input vectors in the prioritised mailbox drain loop [\#15](https://github.com/haskell-distributed/distributed-process-client-server/issues/15)+- Compiler should enforce rules for prioritised processes [\#13](https://github.com/haskell-distributed/distributed-process-client-server/issues/13)+- Prioritised process mailbox handling can block indefinitely [\#12](https://github.com/haskell-distributed/distributed-process-client-server/issues/12)+- `handleExternal` support [\#9](https://github.com/haskell-distributed/distributed-process-client-server/issues/9)+- `safeCall` and `tryCall` can fail if `resolve` throws [\#8](https://github.com/haskell-distributed/distributed-process-client-server/issues/8)+- Someone on IRC claims we are leaking file descriptors [\#7](https://github.com/haskell-distributed/distributed-process-client-server/issues/7)+- Support GHC 8 [\#5](https://github.com/haskell-distributed/distributed-process-client-server/issues/5)++**Merged pull requests:**++- Re-implement Prioritised Managed Processes [\#16](https://github.com/haskell-distributed/distributed-process-client-server/pull/16) ([hyperthunk](https://github.com/hyperthunk))+- Update bounds & stackify [\#11](https://github.com/haskell-distributed/distributed-process-client-server/pull/11) ([hyperthunk](https://github.com/hyperthunk))+- Handle arbitrary STM actions [\#10](https://github.com/haskell-distributed/distributed-process-client-server/pull/10) ([hyperthunk](https://github.com/hyperthunk))+- Bump upper bounds on time and binary [\#6](https://github.com/haskell-distributed/distributed-process-client-server/pull/6) ([3noch](https://github.com/3noch))+- make adjustments for GHC 8 support [\#4](https://github.com/haskell-distributed/distributed-process-client-server/pull/4) ([agentm](https://github.com/agentm))+- Stick state argument to request and unify types across the handlers. [\#3](https://github.com/haskell-distributed/distributed-process-client-server/pull/3) ([wiz](https://github.com/wiz))++## [v0.1.3.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.3.2) (2016-02-16)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.3.1...v0.1.3.2)++## [v0.1.3.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.3.1) (2015-09-29)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.2...v0.1.3.1)++**Merged pull requests:**++- Add compatibility with ghc-7.10 [\#1](https://github.com/haskell-distributed/distributed-process-client-server/pull/1) ([qnikst](https://github.com/qnikst))++## [v0.1.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.2) (2014-12-25)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.1...v0.1.2)++## [v0.1.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.1) (2014-12-17)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.0...v0.1.1)++## [v0.1.0](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.0) (2014-05-30)+++\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
− Setup.lhs
@@ -1,3 +0,0 @@-#!/usr/bin/env runhaskell-> import Distribution.Simple-> main = defaultMain
distributed-process-client-server.cabal view
@@ -1,53 +1,58 @@+cabal-version: 3.0 name: distributed-process-client-server-version: 0.2.5.1-cabal-version: >=1.8+version: 0.2.6.0 build-type: Simple-license: BSD3+license: BSD-3-Clause license-file: LICENCE stability: experimental Copyright: Tim Watson 2012 - 2017 Author: Tim Watson-Maintainer: Tim Watson <watson.timothy@gmail.com>-Homepage: http://github.com/haskell-distributed/distributed-process-client-server-Bug-Reports: http://github.com/haskell-distributed/distributed-process-client-server/issues+maintainer: The Distributed Haskell team+Homepage: http://github.com/haskell-distributed/distributed-process+Bug-Reports: http://github.com/haskell-distributed/distributed-process/issues synopsis: The Cloud Haskell Application Platform description: Modelled after Erlang OTP's gen_server, this framework provides similar facilities for Cloud Haskell, grouping essential practices for client/server development into a set of modules and standards designed to help you build concurrent, distributed applications with relative ease. category: Control-Tested-With: GHC==8.2.2-data-dir: ""+tested-with: GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1+extra-doc-files: CHANGELOG.md source-repository head- type: git- location: https://github.com/haskell-distributed/distributed-process-client-server+ Type: git+ Location: https://github.com/haskell-distributed/distributed-process+ SubDir: packages/distributed-process-client-server +common warnings+ ghc-options: -Wall+ -Wcompat+ -Widentities+ -Wincomplete-uni-patterns+ -Wincomplete-record-updates+ -Wredundant-constraints+ -fhide-source-paths+ -Wpartial-fields+ library+ import: warnings build-depends: base >= 4.8.2.0 && < 5, distributed-process >= 0.6.6 && < 0.8, distributed-process-extras >= 0.3.1 && < 0.4, distributed-process-async >= 0.2.4 && < 0.3,- binary >= 0.6.3.0 && < 0.9,- deepseq >= 1.3.0.1 && < 1.6,+ binary >= 0.8 && < 0.9,+ deepseq >= 1.4 && < 1.6, mtl,- containers >= 0.4 && < 0.6,- hashable >= 1.2.0.5 && < 1.3,+ containers >= 0.6 && < 0.8,+ hashable >= 1.2.0.5 && < 1.6, unordered-containers >= 0.2.3.0 && < 0.3, fingertree < 0.2,- stm >= 2.4 && < 2.5,- time > 1.4 && < 1.9.2,+ stm >= 2.4 && < 2.6,+ time > 1.4 && < 1.15, transformers,- exceptions >= 0.5 && < 0.11- if impl(ghc <= 7.5)- Build-Depends: template-haskell == 2.7.0.0,- derive == 2.5.5,- uniplate == 1.6.12,- ghc-prim- extensions: CPP+ exceptions >= 0.10 && < 0.11 hs-source-dirs: src- ghc-options: -Wall exposed-modules: Control.Distributed.Process.ManagedProcess, Control.Distributed.Process.ManagedProcess.Client,@@ -60,12 +65,14 @@ Control.Distributed.Process.ManagedProcess.Internal.Types, Control.Distributed.Process.ManagedProcess.Internal.GenProcess other-modules: Control.Distributed.Process.ManagedProcess.Internal.PriorityQueue+ default-language: Haskell2010 test-suite ManagedProcessTests+ import: warnings type: exitcode-stdio-1.0 x-uses-tf: true build-depends:- base >= 4.4 && < 5,+ base >= 4.14 && < 5, ansi-terminal >= 0.5 && < 0.9, containers, distributed-process,@@ -76,10 +83,10 @@ network-transport >= 0.4 && < 0.7, mtl, fingertree,- network-transport-tcp >= 0.6 && < 0.7,- binary >= 0.6.3.0 && < 0.9,+ network-transport-tcp >= 0.6 && < 0.9,+ binary >= 0.8 && < 0.9, deepseq,- network >= 2.3 && < 2.7,+ network >= 2.3 && < 3.3, HUnit >= 1.2 && < 2, stm, test-framework >= 0.6 && < 0.9,@@ -95,15 +102,16 @@ TestUtils hs-source-dirs: tests- ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind- extensions: CPP+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind main-is: TestManagedProcess.hs+ default-language: Haskell2010 test-suite PrioritisedProcessTests+ import: warnings type: exitcode-stdio-1.0 x-uses-tf: true build-depends:- base >= 4.4 && < 5,+ base >= 4.14 && < 5, ansi-terminal, containers, distributed-process,@@ -130,6 +138,6 @@ TestUtils hs-source-dirs: tests- ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind- extensions: CPP+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind main-is: TestPrioritisedProcess.hs+ default-language: Haskell2010
src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs view
@@ -288,12 +288,10 @@ (a', _) <- lift $ restoreP $ runProcess ourSTate p2 return a' -#if MIN_VERSION_exceptions(0,10,0) generalBracket acquire release inner = GenProcess $ generalBracket (unManaged acquire) (\a e -> unManaged $ release a e) (unManaged . inner)-#endif -- | Run an action in the @GenProcess@ monad. runProcess :: State s -> GenProcess s a -> Process (a, State s)
tests/ManagedProcessCommon.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE RecordWildCards #-}@@ -21,10 +22,6 @@ import Control.Distributed.Process.ManagedProcess import qualified Control.Distributed.Process.ManagedProcess.UnsafeClient as Unsafe import Control.Distributed.Process.Serializable()--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif import TestUtils
tests/TestManagedProcess.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RecordWildCards #-} @@ -23,10 +24,6 @@ import MathsDemo import Counter import qualified SafeCounter as SafeCounter--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif import Test.Framework (Test, testGroup) import Test.Framework.Providers.HUnit (testCase)
tests/TestPrioritisedProcess.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-}@@ -36,10 +37,6 @@ import Data.List (isInfixOf) import Data.Maybe (isNothing, isJust) import Data.Typeable (Typeable)--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif import Test.Framework (Test, testGroup) import Test.Framework.Providers.HUnit (testCase)
tests/TestUtils.hs view
@@ -37,14 +37,12 @@ mkNode :: String -> IO LocalNode mkNode port = do- Right (transport1, _) <- createTransportExposeInternals- "127.0.0.1" port ("127.0.0.1",) defaultTCPParameters+ Right (transport1, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" port) defaultTCPParameters newLocalNode transport1 initRemoteTable -- | Given a @builder@ function, make and run a test suite on a single transport testMain :: (NT.Transport -> IO [Test]) -> IO () testMain builder = do- Right (transport, _) <- createTransportExposeInternals- "127.0.0.1" "0" ("127.0.0.1",) defaultTCPParameters+ Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "0") defaultTCPParameters testData <- builder transport defaultMain testData