Changes between Version 20 and Version 21 of GoogleSOC


Ignore:
Timestamp:
04/02/2012 11:02:40 AM (8 years ago)
Author:
Itamar Turner-Trauring
Comment:

Expand difficulty ratings of endpoints

Legend:

Unmodified
Added
Removed
Modified
  • GoogleSOC

    v20 v21  
    6767Twisted recently added two new related high-level APIs, one for specifying what address servers should listen for connections on, the other for specifying  what address a client should connect to.  These APIs are known as "endpoints", mostly implemented in [http://twistedmatrix.com/documents/current/api/twisted.internet.endpoints.html twisted.internet.endpoints].  Only a few of the many kinds of addresses that Twisted supports have had endpoint support added to them so far.  Additionally, there are some kinds of connections which it was very awkward to set up before the invention of the endpoints APIs, so there is no convenient way to set them up at all.
    6868
    69 Some endpoints Twisted does have are for TCP (eg, when using the string syntax to create a TCP server, "tcp:port=80:interface=192.168.1.1"), SSL, and UNIX domain sockets.  Some endpoints it doesn't have are for serial ports, standard I/O, child processes, SOCKS proxies, HTTP proxies, and SSH connections.  Many more are possible.
     69Some endpoints Twisted does have are for TCP (eg, when using the string syntax to create a TCP server, "tcp:port=80:interface=192.168.1.1"), SSL, and UNIX domain sockets.  Some endpoints it doesn't have, and could be easily implemented by wrapping existing code: serial ports, standard I/O. A bit more difficult, but still mostly using existing code, would be endpoints for child processes and SSH connections. SOCKS proxies would require writing additional (but fairly simple) network code. Rather trickier would be support HTTPS proxies.  Many more are possible.
    7070
    71 For this project, add a lot of new endpoint implementations to Twisted.  Some endpoint implementations will be simple wrappers around existing APIs. Others will involve some network programming, where there was no convenient existing API to provide the functionality at all.
     71For this project, add a lot of new endpoint implementations to Twisted, starting the easiest and moving on the more difficult ones. Some endpoint implementations will be simple wrappers around existing APIs. Others will involve some network programming, where there was no convenient existing API to provide the functionality at all.
    7272
    7373Requirements: General Python knowledge, some networking knowledge would be helpful but that may be acquired over the course of the project.