Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: third_party/twisted_8_1/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx
diff --git a/third_party/twisted_8_1/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx b/third_party/twisted_8_1/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx
deleted file mode 100644
index 85f8c4783f3691d80bbb93190a003f2cbe6a83cc..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/internet/iocpreactor/iocpsupport/iocpsupport.pyx
+++ /dev/null
@@ -1,250 +0,0 @@
-# Copyright (c) 2008 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-ctypedef int size_t
-ctypedef unsigned long HANDLE
-ctypedef unsigned long SOCKET
-ctypedef unsigned long DWORD
-ctypedef unsigned long ULONG_PTR
-ctypedef int BOOL
-
-cdef extern from 'io.h':
- long _get_osfhandle(int filehandle)
-
-cdef extern from 'errno.h':
- int errno
- enum:
- EBADF
-
-cdef extern from 'winsock2.h':
- pass
-
-cdef extern from 'windows.h':
- ctypedef struct OVERLAPPED:
- pass
- HANDLE CreateIoCompletionPort(HANDLE fileHandle, HANDLE existing, ULONG_PTR key, DWORD numThreads)
- BOOL GetQueuedCompletionStatus(HANDLE port, DWORD *bytes, ULONG_PTR *key, OVERLAPPED **ov, DWORD timeout)
- BOOL PostQueuedCompletionStatus(HANDLE port, DWORD bytes, ULONG_PTR key, OVERLAPPED *ov)
- DWORD GetLastError()
- BOOL CloseHandle(HANDLE h)
- enum:
- INVALID_HANDLE_VALUE
- void DebugBreak()
-
-cdef extern from 'python.h':
- struct PyObject:
- pass
- void *PyMem_Malloc(size_t n) except NULL
- void PyMem_Free(void *p)
- struct PyThreadState:
- pass
- PyThreadState *PyEval_SaveThread()
- void PyEval_RestoreThread(PyThreadState *tstate)
- void Py_INCREF(object o)
- void Py_XINCREF(object o)
- void Py_DECREF(object o)
- void Py_XDECREF(object o)
- int PyObject_AsWriteBuffer(object obj, void **buffer, int *buffer_len) except -1
- int PyObject_AsReadBuffer(object obj, void **buffer, int *buffer_len) except -1
- object PyString_FromString(char *v)
- object PyString_FromStringAndSize(char *v, int len)
- object PyBuffer_New(int size)
- char *PyString_AsString(object obj) except NULL
- object PySequence_Fast(object o, char *m)
-# object PySequence_Fast_GET_ITEM(object o, int i)
- PyObject** PySequence_Fast_ITEMS(object o)
- PyObject* PySequence_ITEM( PyObject *o, int i)
- int PySequence_Fast_GET_SIZE(object o)
-
-cdef extern from '':
- struct sockaddr:
- int sa_family
- char sa_data[0]
- cdef struct in_addr:
- unsigned long s_addr
- struct sockaddr_in:
- int sin_port
- in_addr sin_addr
- int getsockopt(SOCKET s, int level, int optname, char *optval, int *optlen)
- enum:
- SOL_SOCKET
- SO_PROTOCOL_INFO
- SOCKET_ERROR
- ERROR_IO_PENDING
- AF_INET
- INADDR_ANY
- ctypedef struct WSAPROTOCOL_INFO:
- int iMaxSockAddr
- int iAddressFamily
- int WSAGetLastError()
- char *inet_ntoa(in_addr ina)
- unsigned long inet_addr(char *cp)
- short ntohs(short netshort)
- short htons(short hostshort)
- ctypedef struct WSABUF:
- long len
- char *buf
-# cdef struct TRANSMIT_FILE_BUFFERS:
-# pass
- int WSARecv(SOCKET s, WSABUF *buffs, DWORD buffcount, DWORD *bytes, DWORD *flags, OVERLAPPED *ov, void *crud)
- int WSARecvFrom(SOCKET s, WSABUF *buffs, DWORD buffcount, DWORD *bytes, DWORD *flags, sockaddr *fromaddr, int *fromlen, OVERLAPPED *ov, void *crud)
- int WSASend(SOCKET s, WSABUF *buffs, DWORD buffcount, DWORD *bytes, DWORD flags, OVERLAPPED *ov, void *crud)
-
-cdef extern from 'string.h':
- void *memset(void *s, int c, size_t n)
-
-cdef extern from 'winsock_pointers.h':
- int initWinsockPointers()
- BOOL (*lpAcceptEx)(SOCKET listening, SOCKET accepting, void *buffer, DWORD recvlen, DWORD locallen, DWORD remotelen, DWORD *bytes, OVERLAPPED *ov)
- void (*lpGetAcceptExSockaddrs)(void *buffer, DWORD recvlen, DWORD locallen, DWORD remotelen, sockaddr **localaddr, int *locallen, sockaddr **remoteaddr, int *remotelen)
- BOOL (*lpConnectEx)(SOCKET s, sockaddr *name, int namelen, void *buff, DWORD sendlen, DWORD *sentlen, OVERLAPPED *ov)
-# BOOL (*lpTransmitFile)(SOCKET s, HANDLE hFile, DWORD size, DWORD buffer_size, OVERLAPPED *ov, TRANSMIT_FILE_BUFFERS *buff, DWORD flags)
-
-cdef struct myOVERLAPPED:
- OVERLAPPED ov
- PyObject *obj
-
-cdef myOVERLAPPED *makeOV() except NULL:
- cdef myOVERLAPPED *res
- res = <myOVERLAPPED *>PyMem_Malloc(sizeof(myOVERLAPPED))
- if not res:
- raise MemoryError
- memset(res, 0, sizeof(myOVERLAPPED))
- return res
-
-cdef void raise_error(int err, object message) except *:
- if not err:
- err = GetLastError()
- raise WindowsError(message, err)
-
-class Event:
- def __init__(self, callback, owner, **kw):
- self.callback = callback
- self.owner = owner
- self.ignore = False
- for k, v in kw.items():
- setattr(self, k, v)
-
-cdef class CompletionPort:
- cdef HANDLE port
- def __init__(self):
- cdef HANDLE res
- res = CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 0)
- if not res:
- raise_error(0, 'CreateIoCompletionPort')
- self.port = res
-
- def addHandle(self, long handle, long key=0):
- cdef HANDLE res
- res = CreateIoCompletionPort(handle, self.port, key, 0)
- if not res:
- raise_error(0, 'CreateIoCompletionPort')
-
- def getEvent(self, long timeout):
- cdef PyThreadState *_save
- cdef unsigned long bytes, key, rc
- cdef myOVERLAPPED *ov
-
- _save = PyEval_SaveThread()
- rc = GetQueuedCompletionStatus(self.port, &bytes, &key, <OVERLAPPED **>&ov, timeout)
- PyEval_RestoreThread(_save)
-
- if not rc:
- rc = GetLastError()
- else:
- rc = 0
-
- obj = None
- if ov:
- if ov.obj:
- obj = <object>ov.obj
- Py_DECREF(obj) # we are stealing a reference here
- PyMem_Free(ov)
-
- return (rc, bytes, key, obj)
-
- def postEvent(self, unsigned long bytes, unsigned long key, obj):
- cdef myOVERLAPPED *ov
- cdef unsigned long rc
-
- if obj is not None:
- ov = makeOV()
- Py_INCREF(obj) # give ov its own reference to obj
- ov.obj = <PyObject *>obj
- else:
- ov = NULL
-
- rc = PostQueuedCompletionStatus(self.port, bytes, key, <OVERLAPPED *>ov)
- if not rc:
- raise_error(0, 'PostQueuedCompletionStatus')
-
- def __del__(self):
- CloseHandle(self.port)
-
-def makesockaddr(object buff):
- cdef void *mem_buffer
- cdef int size
-
- PyObject_AsReadBuffer(buff, &mem_buffer, &size)
- # XXX: this should really return the address family as well
- return _makesockaddr(<sockaddr *>mem_buffer, size)
-
-cdef object _makesockaddr(sockaddr *addr, int len):
- cdef sockaddr_in *sin
- if not len:
- return None
- if addr.sa_family == AF_INET:
- sin = <sockaddr_in *>addr
- return PyString_FromString(inet_ntoa(sin.sin_addr)), ntohs(sin.sin_port)
- else:
- return PyString_FromStringAndSize(addr.sa_data, sizeof(addr.sa_data))
-
-cdef object fillinetaddr(sockaddr_in *dest, object addr):
- cdef short port
- cdef unsigned long res
- cdef char *hoststr
- host, port = addr
-
- hoststr = PyString_AsString(host)
- res = inet_addr(hoststr)
- if res == INADDR_ANY:
- raise ValueError, 'invalid IP address'
- dest.sin_addr.s_addr = res
-
- dest.sin_port = htons(port)
-
-def AllocateReadBuffer(int size):
- return PyBuffer_New(size)
-
-def maxAddrLen(long s):
- cdef WSAPROTOCOL_INFO wsa_pi
- cdef int size, rc
-
- size = sizeof(wsa_pi)
- rc = getsockopt(s, SOL_SOCKET, SO_PROTOCOL_INFO, <char *>&wsa_pi, &size)
- if rc == SOCKET_ERROR:
- raise_error(WSAGetLastError(), 'getsockopt')
- return wsa_pi.iMaxSockAddr
-
-cdef int getAddrFamily(SOCKET s) except *:
- cdef WSAPROTOCOL_INFO wsa_pi
- cdef int size, rc
-
- size = sizeof(wsa_pi)
- rc = getsockopt(s, SOL_SOCKET, SO_PROTOCOL_INFO, <char *>&wsa_pi, &size)
- if rc == SOCKET_ERROR:
- raise_error(WSAGetLastError(), 'getsockopt')
- return wsa_pi.iAddressFamily
-
-import socket # for WSAStartup
-if not initWinsockPointers():
- raise ValueError, 'Failed to initialize Winsock function vectors'
-
-have_connectex = (lpConnectEx != NULL)
-
-include 'acceptex.pxi'
-include 'connectex.pxi'
-include 'wsarecv.pxi'
-include 'wsasend.pxi'
-

Powered by Google App Engine
This is Rietveld 408576698