update inbox list
This commit is contained in:
38
vendor/scrivo/highlight.php/test/detect/haskell/default.txt
vendored
Normal file
38
vendor/scrivo/highlight.php/test/detect/haskell/default.txt
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
{-# LANGUAGE TypeSynonymInstances #-}
|
||||
module Network.UDP
|
||||
( DataPacket(..)
|
||||
, openBoundUDPPort
|
||||
, openListeningUDPPort
|
||||
, pingUDPPort
|
||||
, sendUDPPacketTo
|
||||
, recvUDPPacket
|
||||
, recvUDPPacketFrom
|
||||
) where
|
||||
|
||||
import qualified Data.ByteString as Strict (ByteString, concat, singleton)
|
||||
import qualified Data.ByteString.Lazy as Lazy (ByteString, toChunks, fromChunks)
|
||||
import Data.ByteString.Char8 (pack, unpack)
|
||||
import Network.Socket hiding (sendTo, recv, recvFrom)
|
||||
import Network.Socket.ByteString (sendTo, recv, recvFrom)
|
||||
|
||||
-- Type class for converting StringLike types to and from strict ByteStrings
|
||||
class DataPacket a where
|
||||
toStrictBS :: a -> Strict.ByteString
|
||||
fromStrictBS :: Strict.ByteString -> a
|
||||
|
||||
instance DataPacket Strict.ByteString where
|
||||
toStrictBS = id
|
||||
{-# INLINE toStrictBS #-}
|
||||
fromStrictBS = id
|
||||
{-# INLINE fromStrictBS #-}
|
||||
|
||||
openBoundUDPPort :: String -> Int -> IO Socket
|
||||
openBoundUDPPort uri port = do
|
||||
s <- getUDPSocket
|
||||
bindAddr <- inet_addr uri
|
||||
let a = SockAddrInet (toEnum port) bindAddr
|
||||
bindSocket s a
|
||||
return s
|
||||
|
||||
pingUDPPort :: Socket -> SockAddr -> IO ()
|
||||
pingUDPPort s a = sendTo s (Strict.singleton 0) a >> return ()
|
||||
Reference in New Issue
Block a user