mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-03 20:44:54 +01:00
55173a56b7
Before this patch we used `int` for error codes. The problem with `int` is that we try to pass it to/from wire and the size of `int` is not defined by the standard. So a sender with 4-byte `int` would write 4 bytes to the wire and a receiver with 2-byte `int` (for example) would read just 2 bytes from the wire. To resolve this: * Introduce an error code type with a known size: `typedef s32 errcode_t`. * Change all error code macros to constants of type `errcode_t`. Constants also play better with gdb - it would visualize the name of the constant instead of the numeric value. * Change all functions that take error codes to take the new type `errcode_t` instead of `int`. * Introduce towire / fromwire functions to send / receive the newly added type `errcode_t` and use it instead of `towire_int()`. In addition: * Remove the now unneeded `towire_int()`. * Replace a hardcoded error code `-2` with a new constant `INVOICE_EXPIRED_DURING_WAIT` (903). Changelog-Changed: The waitinvoice command would now return error code 903 to designate that the invoice expired during wait, instead of the previous -2
2.6 KiB
2.6 KiB
1 | #include <common/cryptomsg.h> |
---|---|
2 | #include <common/per_peer_state.h> |
3 | #include <common/wireaddr.h> |
4 | #include <lightningd/gossip_msg.h> |
5 | msgtype,connectctl_init,2000 |
6 | msgdata,connectctl_init,chainparams,chainparams, |
7 | msgdata,connectctl_init,id,node_id, |
8 | msgdata,connectctl_init,num_wireaddrs,u16, |
9 | msgdata,connectctl_init,wireaddrs,wireaddr_internal,num_wireaddrs |
10 | msgdata,connectctl_init,listen_announce,enum addr_listen_announce,num_wireaddrs |
11 | msgdata,connectctl_init,tor_proxyaddr,?wireaddr, |
12 | msgdata,connectctl_init,use_tor_proxy_always,bool, |
13 | msgdata,connectctl_init,dev_allow_localhost,bool, |
14 | msgdata,connectctl_init,use_dns,bool, |
15 | msgdata,connectctl_init,tor_password,wirestring, |
16 | msgdata,connectctl_init,use_v3_autotor,bool, |
17 | # Connectd->master, here are the addresses I bound, can announce. |
18 | msgtype,connectctl_init_reply,2100 |
19 | msgdata,connectctl_init_reply,num_bindings,u16, |
20 | msgdata,connectctl_init_reply,bindings,wireaddr_internal,num_bindings |
21 | msgdata,connectctl_init_reply,num_announcable,u16, |
22 | msgdata,connectctl_init_reply,announcable,wireaddr,num_announcable |
23 | # Activate the connect daemon, so others can connect. |
24 | msgtype,connectctl_activate,2025 |
25 | # Do we listen? |
26 | msgdata,connectctl_activate,listen,bool, |
27 | # Connectd->master, I am ready. |
28 | msgtype,connectctl_activate_reply,2125 |
29 | # connectd->master: disconnect this peer please (due to reconnect). |
30 | msgtype,connect_reconnected,2112 |
31 | msgdata,connect_reconnected,id,node_id, |
32 | # Master -> connectd: connect to a peer. |
33 | msgtype,connectctl_connect_to_peer,2001 |
34 | msgdata,connectctl_connect_to_peer,id,node_id, |
35 | msgdata,connectctl_connect_to_peer,seconds_waited,u32, |
36 | msgdata,connectctl_connect_to_peer,addrhint,?wireaddr_internal, |
37 | # Connectd->master: connect failed. |
38 | msgtype,connectctl_connect_failed,2020 |
39 | msgdata,connectctl_connect_failed,id,node_id, |
40 | msgdata,connectctl_connect_failed,failcode,errcode_t, |
41 | msgdata,connectctl_connect_failed,failreason,wirestring, |
42 | msgdata,connectctl_connect_failed,seconds_to_delay,u32, |
43 | msgdata,connectctl_connect_failed,addrhint,?wireaddr_internal, |
44 | # Connectd -> master: we got a peer. Three fds: peer, gossip and gossip_store |
45 | msgtype,connect_peer_connected,2002 |
46 | msgdata,connect_peer_connected,id,node_id, |
47 | msgdata,connect_peer_connected,addr,wireaddr_internal, |
48 | msgdata,connect_peer_connected,pps,per_peer_state, |
49 | msgdata,connect_peer_connected,flen,u16, |
50 | msgdata,connect_peer_connected,features,u8,flen |
51 | # master -> connectd: peer has disconnected. |
52 | msgtype,connectctl_peer_disconnected,2015 |
53 | msgdata,connectctl_peer_disconnected,id,node_id, |
54 | # master -> connectd: do you have a memleak? |
55 | msgtype,connect_dev_memleak,2033 |
56 | msgtype,connect_dev_memleak_reply,2133 |
57 | msgdata,connect_dev_memleak_reply,leak,bool, |