diff --git a/docs/devlog.md b/docs/devlog.md index bb3e05cb..2b09f839 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -1,4 +1,17 @@ +## 2023-03-26 + +FIXME: macos-support-clock + -- CPP + -- | Use coarse clock timer. This timer has 1ms resolution but is much + -- faster comparing to the ordinary one. Is used on linux, on macos + -- provides ordinary one. + getTimeCoarse :: IO TimeSpec +#ifdef linux_HOST_OS + getTimeCoarse = getTime MonotonicCoarse +#else + getTimeCoarse = getTime Monotonic +#endif ## 2023-03-24 diff --git a/hbs2-peer/app/BlockDownload.hs b/hbs2-peer/app/BlockDownload.hs index dff6ab27..0a933581 100644 --- a/hbs2-peer/app/BlockDownload.hs +++ b/hbs2-peer/app/BlockDownload.hs @@ -312,6 +312,7 @@ instance HasPeerLocator e m => HasPeerLocator e (BlockDownloadM e m) where updatePeerInfo :: MonadIO m => Bool -> PeerInfo e -> m () updatePeerInfo onError pinfo = do + -- FIXME: macos-support-3 t1 <- liftIO $ getTime MonotonicCoarse void $ liftIO $ atomically $ do diff --git a/hbs2-peer/app/PeerTypes.hs b/hbs2-peer/app/PeerTypes.hs index 3bdba032..9e7680be 100644 --- a/hbs2-peer/app/PeerTypes.hs +++ b/hbs2-peer/app/PeerTypes.hs @@ -204,6 +204,7 @@ fetchBlockState :: MonadIO m => Hash HbSync -> BlockDownloadM e m BlockState fetchBlockState h = do sh <- asks (view blockState) liftIO do + -- FIXME: macos-support-2 now <- getTime MonotonicCoarse tvlast <- newTVarIO now tvreq <- newTVarIO 0 @@ -231,6 +232,7 @@ delBlockState h = do incBlockSizeReqCount :: MonadIO m => Hash HbSync -> BlockDownloadM e m () incBlockSizeReqCount h = do blk <- fetchBlockState h + -- FIXME: macos-support-4 now <- liftIO $ getTime MonotonicCoarse seen <- liftIO $ readTVarIO (view bsLastSeen blk) let elapsed = realToFrac (toNanoSecs (now - seen)) / 1e9 diff --git a/hbs2-storage-simple/lib/HBS2/Storage/Simple.hs b/hbs2-storage-simple/lib/HBS2/Storage/Simple.hs index 9976b60e..428edf35 100644 --- a/hbs2-storage-simple/lib/HBS2/Storage/Simple.hs +++ b/hbs2-storage-simple/lib/HBS2/Storage/Simple.hs @@ -104,6 +104,10 @@ touchForRead ss k = liftIO $ do Nothing -> do bsmm <- unsafeMMapFile (simpleBlockFileName ss k) + + -- FIXME: macos-support-1 + -- вынести функцию в библиотеку + -- обернуть в CPP tick <- getTime MonotonicCoarse atomically $ do