packages feed

network-multicast 0.0.3 → 0.0.4

raw patch · 3 files changed

+8/−11 lines, 3 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

examples/sender.hs view
@@ -7,8 +7,6 @@ main :: IO () main = withSocketsDo $ do     (sock, addr) <- multicastSender "224.0.0.99" 9999-    setTimeToLive sock 10-    setInterface sock "192.168.2.1"     let loop = do         msg <- fmap show getClockTime         sendTo sock msg addr
network-multicast.cabal view
@@ -1,5 +1,5 @@ name:               network-multicast-version:            0.0.3+version:            0.0.4 copyright:          2008 Audrey Tang license:            BSD3 license-file:       LICENSE@@ -17,7 +17,7 @@ library     extensions:         ForeignFunctionInterface, CPP     exposed-modules:    Network.Multicast-    build-depends:      base, network+    build-depends:      base >= 2 && < 4, network     hs-source-dirs:     src     if os(win32)         extra-libraries: ws2_32
src/Network/Multicast.hsc view
@@ -82,30 +82,29 @@     addMembership sock host     return sock -doSetSocketOption :: Storable a => Socket -> a -> IO CInt-doSetSocketOption (MkSocket s _ _ _ _) x = alloca $ \ptr -> do+doSetSocketOption :: Storable a => CInt -> Socket -> a -> IO CInt+doSetSocketOption ip_multicast_option (MkSocket s _ _ _ _) x = alloca $ \ptr -> do     poke ptr x-    c_setsockopt s _IPPROTO_IP _IP_MULTICAST_LOOP (castPtr ptr) (toEnum $ sizeOf x)+    c_setsockopt s _IPPROTO_IP ip_multicast_option (castPtr ptr) (toEnum $ sizeOf x)  -- | Enable or disable the loopback mode on a socket created by 'multicastSender'. -- Loopback is enabled by default; disabling it may improve performance a little bit. setLoopbackMode :: Socket -> LoopbackMode -> IO () setLoopbackMode sock mode = maybeIOError "setLoopbackMode" $ do     let loop = if mode then 1 else 0 :: CUChar-    doSetSocketOption sock loop-    where+    doSetSocketOption _IP_MULTICAST_LOOP sock loop  -- | Set the Time-to-Live of the multicast. setTimeToLive :: Socket -> TimeToLive -> IO () setTimeToLive sock ttl = maybeIOError "setTimeToLive" $ do     let val = toEnum ttl :: CInt-    doSetSocketOption sock val+    doSetSocketOption _IP_MULTICAST_TTL sock val  -- | Set the outgoing interface address of the multicast. setInterface :: Socket -> HostName -> IO () setInterface sock host = maybeIOError "setInterface" $ do     addr <- inet_addr host-    doSetSocketOption sock addr+    doSetSocketOption _IP_MULTICAST_IF sock addr  -- | Make the socket listen on multicast datagrams sent by the specified 'HostName'. addMembership :: Socket -> HostName -> IO ()