qmsk/net/socket/__init__.py
changeset 27 12468e38227e
parent 26 d8a71a675862
equal deleted inserted replaced
26:d8a71a675862 27:12468e38227e
    10     address:
    10     address:
    11         Abstract socket addresses.
    11         Abstract socket addresses.
    12 
    12 
    13         sockaddr        - corresponds to the `struct sockaddr` used in socket API calls. This is an abstract type
    13         sockaddr        - corresponds to the `struct sockaddr` used in socket API calls. This is an abstract type
    14                           that cannot itself be instantated, see `sockaddr_in`/`sockaddr_in6`/`endpoint`.
    14                           that cannot itself be instantated, see `sockaddr_in`/`sockaddr_in6`/`endpoint`.
       
    15 
       
    16             XXX: these are only abstract at the internet level. They do not apply to e.g. UNIX socket addresses!
    15 
    17 
    16         addrinfo        - corresponds to the `struct addrinfo` used by the GAI API. Hold a concrete `sockaddr`
    18         addrinfo        - corresponds to the `struct addrinfo` used by the GAI API. Hold a concrete `sockaddr`
    17 
    19 
    18         endpoint        - abstract internet hostname+service address as handled by getaddrinfo. Maps to a series of `addrinfo`'s.
    20         endpoint        - abstract internet hostname+service address as handled by getaddrinfo. Maps to a series of `addrinfo`'s.
    19     
    21     
    45         SOCK_*          - socket types
    47         SOCK_*          - socket types
    46         IPPROTO_*       - inet protocols
    48         IPPROTO_*       - inet protocols
    47         MSG_*           - send/recv message flags
    49         MSG_*           - send/recv message flags
    48 
    50 
    49         etc.
    51         etc.
       
    52 
       
    53     TODO:
       
    54         * release GIL for operations
       
    55         * expose some misc. functions (e.g. [hn]ton[slq]) via platform?
       
    56         * define more constants
       
    57         * consider some sockaddr_in::sin_addr/sockaddr_in6::sin6_addr -level interfaces?
    50 """
    58 """
    51 
    59 
    52 ## XXX: these shadow the modules... how do we want to provide these?
    60 ## XXX: these shadow the modules... how do we want to provide these?
    53 #from qmsk.net.socket.address import sockaddr, addrinfo, endpoint
    61 #from qmsk.net.socket.address import sockaddr, addrinfo, endpoint
    54 #
    62 #