hcoap-0.1.0.0: src/Network/CoAP/Transport.hs
{-|
Module: Network.CoAP.Transport
Description: CoAP transport library
Maintainer: ulf.lilleengen@gmail.com
License: BSD3
The CoAP transport API is intended to provide different transports available for CoAP. Currently only UDP transport is supported.
-}
module Network.CoAP.Transport
( createUDPTransport
, Endpoint(..)
, Transport(..)
) where
import Network.CoAP.Types
import qualified Network.Socket.ByteString as N
import Network.Socket hiding (send, sendTo, recv, recvFrom)
import Data.ByteString
-- | Create UDP transport instance for a given socket.
createUDPTransport :: Socket -> Transport
createUDPTransport sock =
Transport { sendTo = N.sendTo sock
, recvFrom = N.recvFrom sock 65535
, localEndpoint = getSocketName sock }