--- a/qmsk/net/sctp/sock.pyx Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/sctp/sock.pyx Sun Aug 16 19:20:55 2009 +0300
@@ -1,26 +1,26 @@
"""
This C(ython) extension module provides an interface to the libsctp library and associated socket API.
- >>> import socket
- >>> from sock.addr import sockaddr_in
- >>> s = socket.socket(socket.AF_INET, socket.SOCK_SEQPACKET, 132)
+ >>> from __future__ import absolute_import; import socket as _socket
+ >>> from qmsk.net.socket.addr import sockaddr_in
+ >>> s = _socket.socket(_socket.AF_INET, _socket.SOCK_SEQPACKET, 132)
>>> sctp_bindx(s.fileno(), [sockaddr_in('127.0.0.1', 1337), sockaddr_in('127.0.0.2')], 0x01)
>>>
"""
-from sctp.sock cimport *
-from py cimport raise_errno
+from qmsk.net.sctp.sock cimport *
+from qmsk.net.socket.addr cimport sockaddr
cimport libc
-cimport socket.addr
+from py cimport raise_errno
cdef size_t addrsoup_len (object addrs) except -1 :
"""
Calculate the length of the addr_buf required to store the given addrsoup
"""
- cdef socket.addr.sockaddr addr
+ cdef sockaddr addr
cdef size_t addr_size = 0
# whoever decided that sctp_bindx takes an array of mixed sockaddr_in/sockaddr_in6's should be shot
@@ -34,7 +34,7 @@
Store the sockaddr_*'s for the given addresses into the given buffer, which should be addrsoup_len() bytes long
"""
- cdef socket.addr.sockaddr addr
+ cdef sockaddr addr
cdef char *addr_ptr = addr_buf
# fill it
--- a/qmsk/net/socket/addr.pxd Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/addr.pxd Sun Aug 16 19:20:55 2009 +0300
@@ -68,11 +68,11 @@
Hence, endpoints are stored as human-readable hostname/service strings, which are then translated to sockaddrs
using getaddrinfo.
- >>> import socket
+ >>> from __future__ import absolute_import; import socket as _socket
>>> e = endpoint('127.0.0.1', 80)
>>> str(e)
'hostname=127.0.0.1, service=80'
- >>> res = e.getaddrinfo(socket.AF_UNSPEC, socket.SOCK_STREAM)
+ >>> res = e.getaddrinfo(_socket.AF_UNSPEC, _socket.SOCK_STREAM)
>>> len(res)
1
>>> str(res[0])
@@ -80,7 +80,7 @@
>>> e = endpoint('2001::5', 80)
>>> str(e)
'hostname=2001::5, service=80'
- >>> res = e.getaddrinfo(socket.AF_UNSPEC, socket.SOCK_STREAM)
+ >>> res = e.getaddrinfo(_socket.AF_UNSPEC, _socket.SOCK_STREAM)
>>> len(res)
1
>>> str(res[0])
--- a/qmsk/net/socket/socket.pxd Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/socket.pxd Sun Aug 16 19:20:55 2009 +0300
@@ -4,12 +4,12 @@
ctypedef int socket_t
-cdef class sock :
+cdef class socket :
"""
Represents a single OS-level socket
- >>> from socket import addr
- >>> s = sock()
+ >>> from qmsk.net.socket import addr
+ >>> s = socket()
>>> s.send('foo')
Traceback (most recent call last):
...
@@ -18,8 +18,12 @@
>>> s.bind(addr.sockaddr_in('127.0.0.1', 1337))
>>> s.listen(1)
>>> s.listen(0)
- >>> s.connect(addr.sockaddr_in('127.0.01.', 1338))
- x
+ >>> s = socket(); s.socket()
+ >>> s.connect(addr.sockaddr_in('127.0.0.1', 1338))
+ Traceback (most recent call last):
+ ...
+ OSError: [Errno 111] Connection refused
+
"""
cdef readonly socket_t fd
--- a/qmsk/net/socket/socket.pyx Sun Aug 16 19:01:21 2009 +0300
+++ b/qmsk/net/socket/socket.pyx Sun Aug 16 19:20:55 2009 +0300
@@ -7,7 +7,7 @@
# XXX: do some GIL-releasin'
-cdef class sock :
+cdef class socket :
def __init__ (self, int fd = -1) :
"""
@@ -115,7 +115,7 @@
raise_errno('accept')
# prep the new socket
- sock_obj = sock(sock_fd)
+ sock_obj = socket(sock_fd)
# prep the new addr
sock_addr = build_sockaddr(<libc.sockaddr *> &ss, ss_len)
--- a/setup.py Sun Aug 16 19:01:21 2009 +0300
+++ b/setup.py Sun Aug 16 19:20:55 2009 +0300
@@ -23,14 +23,14 @@
cmdclass = {'build_ext': build_ext},
# describe Cython modules
- ext_package = 'qmsk.net',
+# ext_package = 'qmsk.net',
ext_modules = [
- cython_ext("libc", ["qmsk/net/libc.pyx"]),
- cython_ext("py", ["qmsk/net/py.pyx"]),
- cython_ext("socket.addr", ["qmsk/net/socket/addr.pyx"]),
- cython_ext("socket.socket", ["qmsk/net/socket/socket.pyx"]),
- cython_ext("sctp.sock", ["qmsk/net/sctp/sock.pyx"], libraries=['sctp']),
- cython_ext("sctp.constants", ["qmsk/net/sctp/constants.pyx"]),
+ cython_ext("qmsk.net.libc", ["qmsk/net/libc.pyx"]),
+ cython_ext("qmsk.net.py", ["qmsk/net/py.pyx"]),
+ cython_ext("qmsk.net.socket.addr", ["qmsk/net/socket/addr.pyx"]),
+ cython_ext("qmsk.net.socket.socket", ["qmsk/net/socket/socket.pyx"]),
+ cython_ext("qmsk.net.sctp.sock", ["qmsk/net/sctp/sock.pyx"], libraries=['sctp']),
+ cython_ext("qmsk.net.sctp.constants", ["qmsk/net/sctp/constants.pyx"]),
]
)
--- a/test.py Sun Aug 16 19:01:21 2009 +0300
+++ b/test.py Sun Aug 16 19:20:55 2009 +0300
@@ -1,12 +1,12 @@
import doctest
-import socket.addr
-import socket.sock
-import sctp.sock
+import qmsk.net.socket.addr
+import qmsk.net.socket.socket
+import qmsk.net.sctp.sock
for mod in (
- socket.addr,
- socket.sock,
- sctp.sock,
+ qmsk.net.socket.addr,
+ qmsk.net.socket.socket,
+ qmsk.net.sctp.sock,
) :
doctest.testmod(mod)