[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-bugs] #9485 [Pluggable transport]: Cleanup of pyptlib internals



#9485: Cleanup of pyptlib internals
---------------------------------+------------------------------------------
 Reporter:  infinity0            |          Owner:  asn
     Type:  defect               |         Status:  new
 Priority:  normal               |      Milestone:     
Component:  Pluggable transport  |        Version:     
 Keywords:  pyptlib              |         Parent:     
   Points:                       |   Actualpoints:     
---------------------------------+------------------------------------------
 The current code has a few issues:
 - parses config for every method call
 - uses implicit global state (awkward to test)
 - writes unconditionally to stdout (awkward to test)
 - mixes config logic with write/decision logic
 - inconsistent method names (writeMethod vs reportSuccess)

 My refactoring deals with these issues. Currently it preserves the current
 API but deprecates it in favour of the new API and documents an easy
 transition path.

 https://github.com/infinity0/pyptlib/compare/master...api-config

 Old API (still supported; marked deprecated):

 {{{
 pyptlib.client.init(transports)
 pyptlib.client.reportSuccess(...)
 pyptlib.client.reportEnd()
 }}}

 New API:

 {{{
 client = pyptlib.client.ClientTransportPlugin.fromEnv()
 client.init(transports)
 client.reportMethodSuccess(...)
 client.reportMethodsEnd()
 }}}

 Similar sort of thing for the server.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9485>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs