lnd.xprv/htlcswitch
Conner Fromknecht b59fea460a
htlcswitch/switch: make local response handling async
This commit moves the logic handling responses to
locally-initiated payments to be asynchronous. The
reordering of operations into handleLocalDispatch
brings a serious performance burden to the switch's
main event loop. However, the at-most once semantics
of circuit map and idempotency of cleanup methods
allows concurrent operations to run in parallel.

Prior to this commit, the async_payments_benchmark
would timeout due to the forcibly serial nature of
the prior design. With this change, there is no
perceptible difference in the benchmark OMM, even
though we've added two extra db calls.
2018-08-22 10:26:26 -07:00
..
hodl htlcswitch/hodl/config_production: hide cli hodl flags in prod 2018-07-25 03:33:36 -07:00
circuit_map.go htlcswitch/circuit_map: prune stray locally-initiated keystones 2018-08-20 16:45:42 -07:00
circuit_test.go htlcswitch/circuit_test: test for relaxed DeleteCircuits 2018-08-20 16:45:42 -07:00
circuit.go htlcswitch/circuit: add half adds to circuit map 2018-03-09 21:08:42 -08:00
control_tower_test.go htlcswitch/control_tower_test: test strict and non-strict ctrltwrs 2018-08-21 19:23:25 -07:00
control_tower.go htlcswitch/control_tower: use one db txn for transitions 2018-08-21 19:23:25 -07:00
decayedlog_test.go htlcswitch/decayedlog_test: fix bug in gc unit test 2018-06-27 14:40:28 -07:00
decayedlog.go multi: update to latest RegisterBlockEpochNtfn interface 2018-08-10 01:08:57 -07:00
failure.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
interfaces.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
iterator.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
link_test.go htlcswitch: add test for integrated control tower 2018-08-21 19:23:22 -07:00
link.go htlcswitch/link: cleanup spurious fail/settle responses 2018-08-21 17:13:58 -07:00
linkfailure.go htlcswitch/linkfailure: define LinkFailureError 2018-05-25 06:58:18 +02:00
log.go htlcswitch: add additional comments and logging 2018-03-12 18:58:44 -07:00
mailbox_test.go htlcswitch/mailbox_test: add orchestrator pending/live test 2018-05-09 16:07:52 -07:00
mailbox.go multi: 64bit aligment of atomic vars on arm/x86-32 2018-06-04 20:02:34 -07:00
mock.go htlcswitch/mock: remove new line to satisfy linter 2018-08-21 19:23:24 -07:00
packet.go htlcswitch: remove no longer needed destNode field in htlcPacket 2018-08-20 21:04:52 -07:00
queue_test.go htlcswitch: Remove obsolete fields from htlcPacket. 2017-12-14 17:53:58 -08:00
queue.go htlcswitch: ensure the packet queue exits on stop 2018-06-08 13:51:37 -07:00
sequencer.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
switch_test.go htlcswitch: add test for integrated control tower 2018-08-21 19:23:22 -07:00
switch.go htlcswitch/switch: make local response handling async 2018-08-22 10:26:26 -07:00
test_utils.go htlcswitch: implement strict forwarding for locally dispatched payments 2018-08-20 21:04:47 -07:00