• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bakwc / PySyncObj / 974 / 1
87%
master: 87%

Build:
DEFAULT BRANCH: master
Ran 28 Oct 2018 06:49PM UTC
Files 20
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Oct 2018 06:45PM UTC coverage: 87.595% (-0.5%) from 88.093%
974.1

push

travis-ci

bakwc
Network separation (#92)

* Separate network code from SyncObj (fixes #4)

This has some minor side effects:
- The timing of connections is changed slightly. Connections are now established immediately when the `TCPTransport` is created rather than on the first tick. If a connection fails, the reconnection is triggered immediately rather than on the next tick.
- Read-only nodes are no longer kept around in SyncObj forever; this was a bug in the previous implementation.
- SyncObj.getStatus() doesn't return the number of unknown connections anymore (field 'unknown_connections_count'). This is because SyncObj doesn't have any concept of "unknown connections" anymore as it was moved entirely to the transport. SyncObj only learns about a connection from TCPTransport when the node has been identified and everything is ready for normal communication (through the onNodeConnected and onReadonlyNodeConnected callbacks).
- Before this commit, to add/remove a node to/from the cluster, only the node ID is passed to the other nodes. In the new code, the node object is transferred as well. The protocol is backward-compatible in the sense that the old and new codes can interact freely with each other. However, the new code cannot use the new functionality (e.g. replacing the transport or node classes) until all nodes are updated to the new PySyncObj code.

* Fix typo in DnsCachingResolver

* Let encryption-related tests fail when cryptography isn't available

* Fix typo in TCPTransport._onOutgoingConnected

* Fix not-equal operator (!=) for Node objects on Python 2

Python 3 is sane enough to invert the result of the equality check. Python 2 instead compares the object references, so the __ne__ method needs to be implemented explicitly for Python 2 support.

* Enable cryptography on Travis PyPy builds and on AppVeyor

The former were disabled in 6a6287fe due to Travis using an old version of PyPy at the time, but this should no longer be an issue ... (continued)

2189 of 2499 relevant lines covered (87.6%)

0.88 hits per line

Source Files on job 974.1
  • Tree
  • List 0
  • Changed 6
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 917
  • Travis Job 974.1
  • 1be8de2d on github
  • Prev Job for on master (#972.1)
  • Next Job for on master (#975.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc