# ``twisted`.`internet`.`cfreactor``

module documentation
(source)

A reactor for integrating with CFRunLoop, the CoreFoundation main loop used by macOS.

This is useful for integrating Twisted with PyObjC applications.

Class | `CFReactor` | The CoreFoundation reactor.
Function | `install` | Configure the twisted mainloop to be run inside CFRunLoop.
Class | `_WakerPlus` | The normal Twisted waker will simply wake up the main loop, which causes an iteration to run, which in turn causes `ReactorBase.runUntilCurrent` to get invoked.
Constant | `_READ` | Undocumented
Constant | `_WRITE` | Undocumented
Variable | `_preserveSOError` | Undocumented

def install(runLoop=None, runner=None): (source)
Configure the twisted mainloop to be run inside CFRunLoop.

Parameters
runLoop | the run loop to use.

runner

the function to call in order to actually invoke the main loop. This will default to `CFRunLoopRun` if not specified. However, this is not an appropriate choice for GUI applications, as you need to run NSApplicationMain (or something like it). For example, to run the Twisted mainloop in a PyObjC application, your `main.py` should look something like this:

        from PyObjCTools import AppHelper
        from twisted.internet.cfreactor import install
        install(runner=AppHelper.runEventLoop)
        # initialize your application
        reactor.run()

Returns
`CFReactor` | The installed reactor.

_READ: `int` = (source)

Undocumented

Value

    0

_WRITE: `int` = (source)

Undocumented

Value

    1

_preserveSOError = (source)

Undocumented