twisted / twisted/twisted

twisted.python.sendmsg is a CPython C-extension

Open
#6,874 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core enhancement new priority-normal
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

Alex's avatar Alex reported
Trac ID trac#6874
Type enhancement
Created 2013-12-13 18:25:25Z
Branch https://github.com/twisted/twisted/tree/port-sendmsg-to-cffi-6874

This means it isn't portable to other Python VMs, such as PyPy. It also means it's C-code.

Both of these can be alleviated by porting it to use cffi, which is portable to PyPy and CPython, and also doesn't involve writing C code.

Attachments:

  • t6874.diff (25433 bytes) - added by Alex on 2013-12-13 18:26:55Z - Initial port. There's probably some platform specific stuff that the buildbots will help us sort out. Also the packaging angle.
  • t6874.2.diff (27186 bytes) - added by Alex on 2013-12-15 17:33:03Z - The patch now includes packaging thingies and exposes all of the cross-platform constants that the C version did.
  • t6874-2.diff (2484 bytes) - added by Alex on 2013-12-21 23:07:52Z - Now does platform checks to find teh widths of various struct members.
Searchable metadata
trac-id__6874 6874
type__enhancement enhancement
reporter__Alex Alex
priority__normal normal
milestone__ 
branch__branches_port_sendmsg_to_cffi_6874 branches/port-sendmsg-to-cffi-6874
branch_author__hynek hynek
status__new new
resolution__None None
component__core core
keywords__ 
time__1386959125000000 1386959125000000
changetime__1390428700000000 1390428700000000
version__None None
owner__Alex Alex
cc__hynek

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the twisted.python.sendmsg entry point and the port-sendmsg-to-cffi-6874 branch, then review the attached patches for the existing port. Check the platform-specific struct-width handling, exposed constants, and packaging changes. Done means the C extension is replaced with a portable cffi implementation while preserving the existing API across CPython and PyPy.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.