[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