packages feed

metro-socket 0.1.0.0 → 0.1.0.1

raw patch · 2 files changed

+9/−8 lines, 2 filesdep +hashmap-io

Dependencies added: hashmap-io

Files

metro-socket.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: dcb41445e65758018ed9b7846b1058ae7edd3e0b6a89cd5d4dca8da443e87798+-- hash: df19f17745c5f5ef862a74ec37e9e31ba9e8fea691fafb2ee5d7eb26d0179ad4  name:           metro-socket-version:        0.1.0.0+version:        0.1.0.1 synopsis:       Socket transport for metro description:    Please see the README on GitHub at <https://github.com/Lupino/metro/tree/master/metro-socket#readme> category:       Web@@ -45,6 +45,7 @@     , bytestring     , directory     , hashable+    , hashmap-io     , hslogger     , metro     , mtl
src/Metro/UDPServer.hs view
@@ -13,12 +13,12 @@ import           Control.Monad             (void) import           Data.ByteString           (empty) import           Data.Hashable+import           Data.IOHashMap            (IOHashMap)+import qualified Data.IOHashMap            as HM (delete, empty, insert, lookup) import           Metro.Class               (GetPacketId, RecvPacket,                                             Servable (..), Transport,                                             TransportConfig) import           Metro.Conn-import           Metro.IOHashMap           (IOHashMap, newIOHashMap)-import qualified Metro.IOHashMap           as HM (delete, insert, lookup) import           Metro.Node                (NodeEnv1) import           Metro.Server              (ServerT, getServ, handleConn,                                             serverEnv)@@ -41,11 +41,11 @@   type STP UDPServer = UDPSocket   newServer (UDPConfig hostPort) = do     sock <- liftIO $ bindTo hostPort-    UDPServer sock <$> newIOHashMap+    UDPServer sock <$> HM.empty   servOnce us@(UDPServer serv handleList) done = do     (bs, addr) <- liftIO $ recvFrom serv 4194304 -    bsHandle <- HM.lookup handleList $ show addr+    bsHandle <- HM.lookup (show addr) handleList     case bsHandle of       Just h  -> feed h bs       Nothing ->@@ -56,7 +56,7 @@           closeBSHandle h    onConnEnter _ _ = return ()-  onConnLeave (UDPServer _ handleList) addr = HM.delete handleList (show addr)+  onConnLeave (UDPServer _ handleList) addr = HM.delete (show addr) handleList   servClose (UDPServer serv _) = liftIO $ Socket.close serv  udpServer :: String -> ServerConfig UDPServer@@ -69,7 +69,7 @@   -> BSHandle   -> m (TransportConfig UDPSocket) newTransportConfig (UDPServer sock handleList) addr h = do-  HM.insert handleList (show addr) h+  HM.insert (show addr) h handleList   return $ udpSocket_ $ bsTransportConfig h $ flip (sendAllTo sock) addr  newClient