From 8dc945aae35fffd8e64c524b71d7316297721daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Tue, 4 Feb 2020 23:28:46 +0100 Subject: Service: unify service and packet types Also provide default unit definition for the service state. --- src/Sync.hs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src/Sync.hs') diff --git a/src/Sync.hs b/src/Sync.hs index 37941b8..afb45e6 100644 --- a/src/Sync.hs +++ b/src/Sync.hs @@ -1,6 +1,5 @@ module Sync ( - SyncService, - ServicePacket(..), + SyncService(..), ) where import Control.Monad @@ -12,16 +11,11 @@ import State import Storage import Storage.Merge -data SyncService +data SyncService = SyncPacket (Stored SharedState) instance Service SyncService where serviceID _ = mkServiceID "a4f538d0-4e50-4082-8e10-7e3ec2af175d" - data ServiceState SyncService = SyncService - emptyServiceState = SyncService - - newtype ServicePacket SyncService = SyncPacket (Stored SharedState) - serviceHandler packet = do let SyncPacket added = fromStored packet ls <- svcGetLocal @@ -31,6 +25,6 @@ instance Service SyncService where when (current /= updated) $ do svcSetLocal =<< wrappedStore st (fromStored ls) { lsShared = updated } -instance Storable (ServicePacket SyncService) where +instance Storable SyncService where store' (SyncPacket smsg) = store' smsg load' = SyncPacket <$> load' -- cgit v1.2.3