qmsk.net/socket/sock.pxd
author Tero Marttila <terom@fixme.fi>
Sun, 16 Aug 2009 18:29:55 +0300
changeset 6 10bd48c9b6ce
permissions -rw-r--r--
socket type, mass rename
6
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
"""
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    Sockect Object/API
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
"""
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
ctypedef int socket_t
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
cdef class sock :
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
    """
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
        Represents a single OS-level socket
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
        
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
        >>> from socket import addr
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
        >>> s = sock()
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
        >>> s.send('foo')
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        Traceback (most recent call last):
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
          ...
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        OSError: [Errno 9] Bad file descriptor
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
        >>> s.socket()
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
        >>> s.bind(addr.sockaddr_in('127.0.0.1', 1337))
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
        >>> s.listen(1)
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
        >>> s.listen(0)
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
        >>> s.connect(addr.sockaddr_in('127.0.01.', 1338))
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
        x
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
    """
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
    cdef readonly socket_t fd
10bd48c9b6ce socket type, mass rename
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26