| Index: third_party/twisted_8_1/twisted/internet/cfsupport/cfsocket.pxi
|
| diff --git a/third_party/twisted_8_1/twisted/internet/cfsupport/cfsocket.pxi b/third_party/twisted_8_1/twisted/internet/cfsupport/cfsocket.pxi
|
| deleted file mode 100644
|
| index b87cfb6fcc3d57eb0de9390a35e1f2deebb45b1a..0000000000000000000000000000000000000000
|
| --- a/third_party/twisted_8_1/twisted/internet/cfsupport/cfsocket.pxi
|
| +++ /dev/null
|
| @@ -1,111 +0,0 @@
|
| -import traceback
|
| -
|
| -cdef class PyCFSocket
|
| -
|
| -cdef void socketCallBack(CFSocketRef s, CFSocketCallBackType _type, CFDataRef address, void *data, void *info):
|
| - cdef PyCFSocket socket
|
| - cdef int res
|
| - cdef int mask
|
| - socket = (<PyCFSocket>info)
|
| - #print "fileno = %r" % (socket.fileno,)
|
| - try:
|
| - if _type == kCFSocketReadCallBack:
|
| - if socket.readcallback:
|
| - socket.readcallback()
|
| - elif _type == kCFSocketWriteCallBack:
|
| - if socket.writecallback:
|
| - socket.writecallback()
|
| - elif _type == kCFSocketConnectCallBack:
|
| - if data == NULL:
|
| - res = 0
|
| - else:
|
| - res = (<int*>data)[0]
|
| - if socket.connectcallback:
|
| - socket.connectcallback(res)
|
| - except:
|
| - traceback.print_exc()
|
| -
|
| -cdef void gilSocketCallBack(CFSocketRef s, CFSocketCallBackType _type, CFDataRef address, void *data, void *info):
|
| - cdef PyGILState_STATE gil
|
| - gil = PyGILState_Ensure()
|
| - socketCallBack(s, _type, address, data, info)
|
| - PyGILState_Release(gil)
|
| -
|
| -cdef class PyCFSocket:
|
| - cdef public object readcallback
|
| - cdef public object writecallback
|
| - cdef public object connectcallback
|
| - cdef public object reading
|
| - cdef public object writing
|
| - cdef CFSocketRef cf
|
| - cdef CFRunLoopSourceRef source
|
| - cdef readonly CFSocketNativeHandle fileno
|
| - cdef CFSocketContext context
|
| -
|
| - def __new__(self, CFSocketNativeHandle fileno, readcallback=None, writecallback=None, connectcallback=None):
|
| - #print "new socket %r" % (fileno,)
|
| - self.fileno = fileno
|
| - self.readcallback = readcallback
|
| - self.writecallback = writecallback
|
| - self.connectcallback = connectcallback
|
| - self.context.version = 0
|
| - self.context.info = <void *>self
|
| - self.context.retain = NULL
|
| - self.context.release = NULL
|
| - self.context.copyDescription = NULL
|
| - self.reading = False
|
| - self.writing = False
|
| - self.cf = CFSocketCreateWithNative(kCFAllocatorDefault, fileno, kCFSocketConnectCallBack | kCFSocketReadCallBack | kCFSocketWriteCallBack, <CFSocketCallBack>&gilSocketCallBack, &self.context)
|
| - if self.cf == NULL:
|
| - raise ValueError("Invalid Socket")
|
| - self.source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, self.cf, 10000)
|
| - if self.source == NULL:
|
| - raise ValueError("Couldn't create runloop source")
|
| - #print "made new socket"
|
| -
|
| - def update(self):
|
| - cdef int mask
|
| - cdef int offmask
|
| - cdef int automask
|
| - mask = kCFSocketConnectCallBack | kCFSocketAcceptCallBack
|
| - offmask = 0
|
| - automask = kCFSocketAutomaticallyReenableAcceptCallBack
|
| - if self.reading:
|
| - mask = mask | kCFSocketReadCallBack
|
| - automask = automask | kCFSocketAutomaticallyReenableReadCallBack
|
| - else:
|
| - offmask = offmask | kCFSocketReadCallBack
|
| - if self.writing:
|
| - mask = mask | kCFSocketWriteCallBack
|
| - automask = automask | kCFSocketAutomaticallyReenableWriteCallBack
|
| - else:
|
| - offmask = offmask | kCFSocketWriteCallBack
|
| - CFSocketDisableCallBacks(self.cf, offmask)
|
| - CFSocketEnableCallBacks(self.cf, mask)
|
| - CFSocketSetSocketFlags(self.cf, automask)
|
| -
|
| -
|
| - def startReading(self):
|
| - self.reading = True
|
| - self.update()
|
| -
|
| - def stopReading(self):
|
| - self.reading = False
|
| - self.update()
|
| -
|
| - def startWriting(self):
|
| - self.writing = True
|
| - self.update()
|
| -
|
| - def stopWriting(self):
|
| - self.writing = False
|
| - self.update()
|
| -
|
| - def __dealloc__(self):
|
| - #print "PyCFSocket(%r).__dealloc__()" % (self.fileno,)
|
| - if self.source != NULL:
|
| - CFRelease(self.source)
|
| - if self.cf != NULL:
|
| - CFSocketInvalidate(self.cf)
|
| - CFRelease(self.cf)
|
| - #print "__dealloc__()"
|
|
|