socket-unix 0.1.1.0 → 0.2.0.0
raw patch · 5 files changed
+36/−33 lines, 5 filesdep ~socketPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: socket
API changes (from Hackage documentation)
Files
- platform/linux/System/Socket/Family/Unix/Platform.hsc +15/−11
- platform/unix/System/Socket/Family/Unix/Platform.hsc +10/−7
- socket-unix.cabal +5/−5
- src/System/Socket/Family/Unix/Internal.hsc +1/−6
- test/Internal.hs +5/−4
platform/linux/System/Socket/Family/Unix/Platform.hsc view
@@ -22,7 +22,7 @@ import Data.ByteString.Unsafe (unsafeUseAsCStringLen) import qualified Data.ByteString as B -import System.Socket (SocketAddress)+import System.Socket (SocketAddress, Family(..)) import System.Socket.Family.Unix.Internal (Unix) #include "hs_socket.h"@@ -31,17 +31,20 @@ #let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__) #endif --- | A Unix socket address-data instance SocketAddress Unix- -- | Address is connected to a filesystem pathname. When used to bind- -- a socket file with this name is created in the file system.- = SocketAddressUnixPath ByteString- -- | Address is in abstract namespace which is a Linux-specific feature- -- that allows us to bind a UNIX domain socket to a name without that- -- name being created in the file system.- | SocketAddressUnixAbstract ByteString- deriving (Eq, Show)+instance Family Unix where+ familyNumber _ = (#const AF_UNIX) + -- | A Unix socket address+ data SocketAddress Unix+ -- | Address is connected to a filesystem pathname. When used to bind+ -- a socket file with this name is created in the file system.+ = SocketAddressUnixPath ByteString+ -- | Address is in abstract namespace which is a Linux-specific feature+ -- that allows us to bind a UNIX domain socket to a name without that+ -- name being created in the file system.+ | SocketAddressUnixAbstract ByteString+ deriving (Eq, Show)+ -- | The maximal length of a address path. -- SUSv3 doesn’t specify the size of the sun_path field. Early BSD -- implementations used 108 and 104 bytes, and one contemporary implementation@@ -97,3 +100,4 @@ where sun_family = (#ptr struct sockaddr_un, sun_family) sun_path = (#ptr struct sockaddr_un, sun_path)+
platform/unix/System/Socket/Family/Unix/Platform.hsc view
@@ -21,7 +21,7 @@ import Data.ByteString.Unsafe (unsafeUseAsCStringLen) import qualified Data.ByteString as B -import System.Socket (SocketAddress)+import System.Socket (SocketAddress, Family(..)) import System.Socket.Family.Unix.Internal (Unix) #include "hs_socket.h"@@ -30,12 +30,15 @@ #let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__) #endif --- | A Unix socket address-data instance SocketAddress Unix- -- | Address is connected to a filesystem pathname. When used to bind- -- a socket file with this name is created in the file system.- = SocketAddressUnixPath ByteString- deriving (Eq, Show)+instance Family Unix where+ familyNumber _ = (#const AF_UNIX)++ -- | A Unix socket address+ data SocketAddress Unix+ -- | Address is connected to a filesystem pathname. When used to bind+ -- a socket file with this name is created in the file system.+ = SocketAddressUnixPath ByteString+ deriving (Eq, Show) -- | The maximal length of a address path. -- SUSv3 doesn’t specify the size of the sun_path field. Early BSD
socket-unix.cabal view
@@ -1,5 +1,5 @@ name: socket-unix-version: 0.1.1.0+version: 0.2.0.0 synopsis: Unix domain sockets description: A Unix domain socket extension for the socket library homepage: https://github.com/vyacheslavhashov/haskell-socket-unix#readme@@ -24,10 +24,10 @@ other-modules: System.Socket.Family.Unix.Internal System.Socket.Family.Unix.Platform build-depends: base >= 4.7 && < 5- , socket >= 0.6.0.0 && < 0.8.0.0+ , socket >= 0.8.0.0 && < 0.9.0.0 , bytestring >= 0.10.0.0 && < 0.11 - ghc-options: -Wall+ ghc-options: -Wall -O2 default-language: Haskell2010 test-suite default@@ -41,7 +41,7 @@ other-modules: Internal Platform build-depends: base >= 4.7 && < 5- , socket >= 0.6.0.0 && < 0.8.0.0+ , socket >= 0.8.0.0 && < 0.9.0.0 , socket-unix , tasty >= 0.11 && < 0.12 , tasty-hunit >= 0.9 && < 0.10@@ -61,7 +61,7 @@ other-modules: Internal Platform build-depends: base >= 4.7 && < 5- , socket >= 0.6.0.0 && < 0.8.0.0+ , socket >= 0.8.0.0 && < 0.9.0.0 , socket-unix , tasty >= 0.11 && < 0.12 , tasty-hunit >= 0.9 && < 0.10
src/System/Socket/Family/Unix/Internal.hsc view
@@ -8,7 +8,7 @@ , eNoEntry ) where -import System.Socket (Family(..), Protocol(..), SocketException(..))+import System.Socket (SocketException(..)) #include "hs_socket.h" @@ -20,11 +20,6 @@ -- (https://en.wikipedia.org/wiki/Unix_domain_socket) data Unix -instance Family Unix where- familyNumber _ = (#const AF_UNIX)--instance Protocol Unix where- protocolNumber _ = 0 -- | > SocketException "No such file or directory" eNoEntry :: SocketException
test/Internal.hs view
@@ -14,6 +14,7 @@ import System.Socket import System.Socket.Type.Stream import System.Socket.Type.Datagram+import System.Socket.Protocol.Default import System.Socket.Family.Unix groupUnixPathname :: TestTree@@ -68,15 +69,15 @@ clientAbstractPath :: ByteString clientAbstractPath = "/tmp/FieNg4shamo4Thie.socket" -unixSocketStream :: IO (Socket Unix Stream Unix)+unixSocketStream :: IO (Socket Unix Stream Default) unixSocketStream = socket -unixSocketDatagram :: IO (Socket Unix Datagram Unix)+unixSocketDatagram :: IO (Socket Unix Datagram Default) unixSocketDatagram = socket testServerClientStream :: SocketAddress Unix- -> (Socket Unix Stream Unix, Socket Unix Stream Unix)+ -> (Socket Unix Stream Default, Socket Unix Stream Default) -> IO () testServerClientStream addr (server, client) = do bind server addr@@ -97,7 +98,7 @@ testServerClientDatagram :: SocketAddress Unix -> SocketAddress Unix- -> (Socket Unix Datagram Unix, Socket Unix Datagram Unix)+ -> (Socket Unix Datagram Default, Socket Unix Datagram Default) -> IO () testServerClientDatagram sAddr cAddr (server, client) = do bind server sAddr