[Twisted-Python] ANN: Fusion v0.2, C++ integration for Twisted

Itamar Shtull-Trauring itamar at itamarst.org
Thu Dec 23 16:32:47 MST 2004


Fusion is a library that supports implementing protocols in C++ for use
with Twisted, allowing control over memory allocation strategies, fast
method calls internally, etc.. Fusion supports TCP, UDP and multicast,
and is implemented using the Boost.Python python bindings.

Fusion has only been tested on Linux - Debian GNU/Linux with gcc 3.3 on
PowerPC and Redhat 7.3 with gcc 2.96 on x86.

Fusion is licensed under the MIT license, and available for download
from http://itamarst.org/software/fusion-0.2.tar.gz

Features supported in v0.2:

1. Scheduling functions with the twisted event loop from C++ (callLater
and LoopingCall).

2. Support for implementing C++ UDP and multicast protocols.

3. Support for implementing C++ TCP protocols (client and server), with
a zero-copy buffering layer written in C++. Protocols implemented in
Python can also use this custom buffering layer. There are two write
APIs, one accepting a functor/function that writes to a buffer allocated
by Fusion, and the other accepting a shared_ptr that points at an
instance that owns a buffer.


** WARNING **
Writing networking code in C++ can lead to buffer overflows and other
unpleasant security problems. Stick to pure Python unless you have no
other choice and know what you're doing. Don't assume I know what I'm
doing, either - bug reports are more than welcome :)






More information about the Twisted-Python mailing list