Tree:
2834053457
bump-pyln-proto
confirmed-only
connected_hook
docs
exclude-equal-hint
fee-tracking2
fix-benchmarks
fix-mocks
fix-test_pay_direct-flake
fixup-0.9.0
htlc_accepted_hook
issue-2080
issue-2504
json-streaming
keysend
master
mpp
nifty/pset-pre
patch-1
paymod-01
paymod-02
paymod-03
paymod-04
plugin-1
plugin-2
plugin-3
plugin-6
plugin-7
plugin-timeout-inc
ppa
ppa-0.6.1
ppa-0.6.2rc1
ppa-prep
ppa-v0.9.2
pr-2218
pr-2355-addendum
pr-2391
pr-2587
pull/2803/head
pull/2938/head
pylightning-async
pyln
register-keysend-plugin
release-0.9.0
release-0.9.0rc3
route-mem-overrun
routehint-order
sanitizers
sendonion-msatoshi
test-pay-routeboost
travis-debug
travis-experimental
travis-test
trytravis
v0.9.0.1
add-PR3363-and-PR3372
azure0.1
basedon-aeafe4dbe7d5c61f664c18417698866b0d70252f
bolt11-demo
cp-head
demo_09052017
gossip-rewrite-prebase
htlc_accepted_replay
issue-2491-checkpoint-1
list
multi-db-pre-reoder-20190821
onion-rpc-1573494123
onion-rpc-1573497614
patch-09-reviewed
plugin-2-deadend
plugin-5-prebase-1
plugin-7-a
pr-3316
pr-3321
pr-3329
pr-3335
pr-3340
pre-rebase-01
prebase-20190726
prebrase-2019010301
rebase-top
sphinx-hop-data-head
sphinx-reply-v0
subd-request-muxing-prebase
test
test1
trackblocks-20180303
undo
v0.0.0.20
v0.0.0.20-bench
v0.0.0.20-dev
v0.0.0.21
v0.0.0.21-bench
v0.0.0.21-dev
v0.0.0.22
v0.0.0.22-bench
v0.0.0.22-dev
v0.1-2015-08-08
v0.2-2016-01-22
v0.3-2016-05-26
v0.4-2016-08-19
v0.5-2016-10-19
v0.5.1-2016-10-21
v0.5.2-2016-11-21
v0.6
v0.6.1
v0.6.1rc1
v0.6.1rc2
v0.6.2
v0.6.2rc1
v0.6.3
v0.6.3rc1
v0.6rc1
v0.6rc2
v0.7.0
v0.7.0rc1
v0.7.0rc2
v0.7.0rc3
v0.7.1
v0.7.1rc1
v0.7.1rc2
v0.7.1rc3
v0.7.1rc4
v0.7.1rc5
v0.7.2
v0.7.2.1
v0.7.2rc1
v0.7.2rc2
v0.7.3
v0.7.3rc1
v0.7.3rc2
v0.7.3rc3
v0.8.0
v0.8.0rc1
v0.8.0rc2
v0.8.1
v0.8.1rc1
v0.8.1rc2
v0.8.1rc3
v0.8.2
v0.8.2.1
v0.8.2rc1
v0.8.2rc2
v0.8.2rc3
v0.9.0
v0.9.0-1
v0.9.0.1
v0.9.0rc1
v0.9.0rc2
v0.9.0rc3
v0.9.0rc4
v0.9.1
v0.9.1rc1
v0.9.1rc2
v0.9.2
v0.9.2rc1
v0.9.2rc2
v0.9.3
v0.9.3rc1
v0.9.3rc2
variant-pyunittests
where-the-500-went
${ noResults }
52 Commits (28340534571ab1b61fd0118dd6a9fc633a76e1ad)
Author | SHA1 | Message | Date |
---|---|---|---|
Rusty Russell | 50f5eb34b4 |
openingd: take peer before we're opening, wait for explicit funding msg.
Prior to this, lightningd would hand uninteresting peers back to connectd, which would then return it to lightningd if it sent a non-gossip msg, or if lightningd asked it to release the peer. Now connectd hands the peer to lightningd once we've done the init handshake, which hands it off to openingd. This is a deep structural change, so we do the minimum here and cleanup in the following patches. Lightningd: 1. Remove peer_nongossip handling from connect_control and peer_control. 2. Remove list of outstanding fundchannel command; it was only needed to find the race between us asking connectd to release the peer and it reconnecting. 3. We can no longer tell if the remote end has started trying to fund a channel (until it has succeeded): it's very transitory anyway so not worth fixing. 4. We now always have a struct peer, and allocate an uncommitted_channel for it, though it may never be used if neither end funds a channel. 5. We start funding on messages for openingd: we can get a funder_reply or a fundee, or an error in response to our request to fund a channel. so we handle all of them. 6. A new peer_start_openingd() is called after connectd hands us a peer. 7. json_fund_channel just looks through local peers; there are none hidden in connectd any more. 8. We sometimes start a new openingd just to send an error message. Openingd: 1. We always have information we need to accept them funding a channel (in the init message). 2. We have to listen for three fds: peer, gossip and master, so we opencode the poll. 3. We have an explicit message to start trying to fund a channel. 4. We can be told to send a message in our init message. Testing: 1. We don't handle some things gracefully yet, so two tests are disabled. 2. 'hand_back_peer .*: now local again' from connectd is no longer a message, openingd says 'Handed peer, entering loop' once its managing it. 3. peer['state'] used to be set to 'GOSSIPING' (otherwise this field doesn't exist; 'state' is now per-channel. It doesn't exist at all now. 4. Some tests now need to turn on IO logging in openingd, not connectd. 5. There's a gap between connecting on one node and having connectd on the peer hand over the connection to openingd. Our tests sometimes checked getpeers() on the peer, and didn't see anything, so line_graph needed updating. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> |
6 years ago |
Christian Decker | 58709cf190 |
pytest: Migrate connection tests to new fixture model
|
7 years ago |