[Python-Dev] Exposing socket and poll objects in the Concrete Object Layer
Michel Pelletier
michel at dialnetwork.com
Wed Aug 13 10:02:16 EDT 2003
More information about the Python-Dev mailing list
Wed Aug 13 10:02:16 EDT 2003
- Previous message: [Python-Dev] JOBS: Python Technical Lead & Head of Data Quality Assurance, NYC
- Next message: [Python-Dev] Exposing socket and poll objects in the Concrete Object Layer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'm sketching a C module for a client using new style classes. I'd like to use, and return to the user in some cases, Python socket and poll objects. I want to create socket objects for custom connection handlers and poll objects to poll a set of handlers periodically; all written in C and intended to be subclassed in Python to customize behavior. Unfortunately these objects cannot be created, as far as I can tell, in C without resorting to PyImport_* and PyObject_Call* hacks which are alarmingly ugly. I could of course just use the standard socket and select C libraries, but this means re-implementing all the hacks that make the Python implementations so rock solid across platforms, and it also means I can't return socket and poll objects so that *Python* subclasses of my code, and other Python code, can use those objects directly. It seems to me that socket and poll objects can be easily exposed to C programmers through the Concrete Object Layer API. There may be a good reason why this isn't so that I don't see. Does it makes sense to expose methods like PySocket_New, PySocket_Bind etc. and PyPoll_New, PyPoll_Poll, PyPoll_Register etc? One reason I can see is that these modules cannot be guaranteed to work consistently (if at all) across all platforms. In this case it is acceptable to my client to detect that condition and explicitly fail. We do not ever anticipate using platforms upon which these services are broken. Does this sound useful to anyone else? Now that new style classes make it possible for people to write classes in C, I think it will become a much more common practice, and that Python programmers moving "down" to C will expect to be able to use services in C that they take for granted in Python. -Michel
- Previous message: [Python-Dev] JOBS: Python Technical Lead & Head of Data Quality Assurance, NYC
- Next message: [Python-Dev] Exposing socket and poll objects in the Concrete Object Layer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list