Пример #1
0
 def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fd=_c.INVALID_SOCKET):
     """Create a new socket."""
     if _c.invalid_socket(fd):
         fd = _c.socket(family, type, proto)
     if _c.invalid_socket(fd):
         raise self.error_handler()
     # PLAT RISCOS
     self.fd = fd
     self.family = family
     self.type = type
     self.proto = proto
     self.timeout = defaults.timeout
Пример #2
0
 def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0,
              fd=_c.INVALID_SOCKET):
     """Create a new socket."""
     if _c.invalid_socket(fd):
         fd = _c.socket(family, type, proto)
     if _c.invalid_socket(fd):
         raise self.error_handler()
     # PLAT RISCOS
     self.fd = fd
     self.family = family
     self.type = type
     self.proto = proto
     self.timeout = defaults.timeout
Пример #3
0
 def accept(self):
     """Wait for an incoming connection.
     Return (new socket fd, client address)."""
     if self._select(False) == 1:
         raise SocketTimeout
     address, addr_p, addrlen_p = self._addrbuf()
     try:
         newfd = _c.socketaccept(self.fd, addr_p, addrlen_p)
         addrlen = addrlen_p[0]
     finally:
         lltype.free(addrlen_p, flavor='raw')
         address.unlock()
     if _c.invalid_socket(newfd):
         raise self.error_handler()
     address.addrlen = rffi.cast(lltype.Signed, addrlen)
     return (newfd, address)
Пример #4
0
 def accept(self):
     """Wait for an incoming connection.
     Return (new socket fd, client address)."""
     if self._select(False) == 1:
         raise SocketTimeout
     address, addr_p, addrlen_p = self._addrbuf()
     try:
         newfd = _c.socketaccept(self.fd, addr_p, addrlen_p)
         addrlen = addrlen_p[0]
     finally:
         lltype.free(addrlen_p, flavor='raw')
         address.unlock()
     if _c.invalid_socket(newfd):
         raise self.error_handler()
     address.addrlen = rffi.cast(lltype.Signed, addrlen)
     return (newfd, address)