| | 2 | |
|---|
| | 3 | * Release 0.0.7 (16 Jan 2007) |
|---|
| | 4 | |
|---|
| | 5 | ** bug fixes |
|---|
| | 6 | |
|---|
| | 7 | *** Tubs can now connect to themselves |
|---|
| | 8 | |
|---|
| | 9 | In previous releases, Tubs were unable to connect to themselves: the |
|---|
| | 10 | following code would fail (the negotiation would never complete, so the |
|---|
| | 11 | connection attempt would eventually time out after about 30 seconds): |
|---|
| | 12 | |
|---|
| | 13 | url = mytub.registerReference(target) |
|---|
| | 14 | d = mytub.getReference(url) |
|---|
| | 15 | |
|---|
| | 16 | In release 0.0.7, this has been fixed by catching this case and making it use |
|---|
| | 17 | a special loopback transport (which serializes all messages but does not send |
|---|
| | 18 | them over a wire). There may be still be problems with this code, in |
|---|
| | 19 | particular connection shutdown is not completely tested and producer/consumer |
|---|
| | 20 | code is completely untested. |
|---|
| | 21 | |
|---|
| | 22 | *** Tubs can now getReference() the same URL multiple times |
|---|
| | 23 | |
|---|
| | 24 | A bug was present in the RemoteReference-unslicing code which caused the |
|---|
| | 25 | following code to fail: |
|---|
| | 26 | |
|---|
| | 27 | d = mytub.getReference(url) |
|---|
| | 28 | d.addCallback(lambda ref: mytub.getReference(url)) |
|---|
| | 29 | |
|---|
| | 30 | In particular, the second call to getReference() would return None rather |
|---|
| | 31 | than the RemoteReference it was supposed to. |
|---|
| | 32 | |
|---|
| | 33 | This bug has been fixed. If the previous RemoteReference is still alive, it |
|---|
| | 34 | will be returned by the subsequent getReference() call. If it has been |
|---|
| | 35 | garbage-collected, a new one will be created. |
|---|
| | 36 | |
|---|
| | 37 | *** minor fixes |
|---|
| | 38 | |
|---|
| | 39 | Negotiation errors (such as having incompatible versions of Foolscap on |
|---|
| | 40 | either end of the wire) may be reported more usefully. |
|---|
| | 41 | |
|---|
| | 42 | In certain circumstances, disconnecting the Tub service from a parent service |
|---|
| | 43 | might have caused an exception before. It might behave better now. |
|---|
| | 44 | |
|---|