Commit graph

207 commits

Author SHA1 Message Date
ThomasV
305843999e Relicensing 2016-02-24 10:20:30 +01:00
ThomasV
bd5effb1b8 follow up 6f72fa4 2016-02-21 17:46:56 +01:00
ThomasV
6f72fa4e94 try to fix issue #1682 2016-02-21 17:42:33 +01:00
ThomasV
04c7d2b455 add 'donate to server' menu item 2016-02-15 16:17:07 +01:00
ThomasV
4dd479cf59 server_is_lagging: return True if no height 2016-02-15 15:58:08 +01:00
Neil Booth
371f8d6dc3 network: gracefully handle EINTR in select syscall 2016-01-16 21:14:14 +09:00
ThomasV
da8fce1914 if available, use relayfee from server instead of hard coded value 2016-01-14 16:06:22 +01:00
Eagle[TM]
2c797cd75b Update default server list 2015-12-30 14:47:40 +01:00
ThomasV
9ec4cbeed1 fix issue #1572 2015-12-06 13:32:50 +01:00
ThomasV
74a9e2296c separate Network and Plugins 2015-12-03 11:18:10 +01:00
ThomasV
90a2a049f4 network fix: callbacks were not called 2015-11-27 11:30:14 +01:00
ThomasV
042f8ef832 network: cache subscription responses 2015-11-26 11:26:01 +01:00
ThomasV
43df795b1f network: separate callbacks from unanswered_requests 2015-11-26 10:57:43 +01:00
ThomasV
2934fd17be fix websockets 2015-11-25 10:32:46 +01:00
Neil Booth
ae4cfc9f0b Unregister network callbacks from QT gui
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
Neil Booth
206e38fb7c Make use of trigger_callback easier to understand 2015-11-12 16:08:37 +09:00
Neil Booth
8cc3b58364 Allow syncronizer to be GC-ed
Proper fix for #1525.
Using python's GC module, I've verified that the daemon, when running,
now releases all verifiers, synchronizers and wallets - all the resources
we care about releasing.
2015-11-12 08:40:58 +09:00
ThomasV
6aefaf7b3e populate network.connecting before the thread is started (fixes KeyError in self.connecting.pop) 2015-10-17 07:07:10 +02:00
Neil Booth
58bd655f1d In debug mode, show every queued request 2015-09-12 12:13:42 +09:00
Neil Booth
fb5e8068ce Simplify following on from prior dead code removal 2015-09-12 11:25:14 +09:00
Neil Booth
f9547a194e Remove more dead code
As everything is in-process now, nothing sends
"network.*" messages.
2015-09-12 11:18:11 +09:00
Neil Booth
fe2e731a70 Remove dead code 2015-09-12 10:54:20 +09:00
Neil Booth
3746050fe6 Subscribed address fix
Add an addr to the subcribed address set on receiving a response,
not on sending a request.
2015-09-10 13:32:00 +09:00
Neil Booth
cbf9052dae Remove address caching 2015-09-10 12:57:04 +09:00
Neil Booth
b14aae5ebc Clear self.interface when switching
When switching and the interface isn't immediately available,
we should clear self.Interface as otherwise requests will
still be going to it.
2015-09-09 22:13:09 +09:00
Neil Booth
6f1367fea6 Unify message IDs between network and interfaces
Previously network.py had its own idea of request IDs,
and each interface had its own which was sent on the wire.
The interface would jump through hoops to translate one
to the other.

This unifies them so that a message ID is passed when
queueing a request, in addition to the method and params.
network.py is now solely responsible for message ID management.

Apart from being simpler and clearer, this also should be faster
as there is much less data structure manipulation and rebuilding
happening.
2015-09-09 21:00:25 +09:00
Neil Booth
abee263710 Remove obsolete server from DEFAULT_SERVERS 2015-09-07 10:39:55 +09:00
Neil Booth
da5c18b2f9 Be patient whilst connecting
On startup we make several connections simultaneously.  Socket
maintenance code checks if we're not connected, and if not
switches to a connected interface if auto_connect.
Unfortunately this meant that we frequently didn't reconnect to
the prior good server on startup, because some other connection
would happen first and this code would decide to switch to it.

Instead, only switch if a connection attempt is not in progress.
If that times out at the O/S level the switch will happen.
2015-09-06 20:03:43 +09:00
Neil Booth
b5f986ee56 Torwards sane signalling for exchange_rate plugin 2015-09-05 21:47:35 +09:00
Neil Booth
6c69849be9 Fix uninitialized var from select merge 2015-09-02 13:50:25 +09:00
Neil Booth
cdcd4d7215 Fix 'tuple' object has no attribute 'copy'
Occurred when switching interfaces and there were unanswered
requests that need resending.  This bug isn't new; it's been
there since at least 3rd June.
2015-09-02 11:56:53 +09:00
Neil Booth
119aa5bf2e Move message so it doesn't repeat when connecting 2015-09-01 17:30:22 +09:00
Neil Booth
72f429c353 Remove unused callback 2015-09-01 14:41:06 +09:00
Neil Booth
a5e0265010 Make exchange rate plugin a network thread job
This fixes a lot of thread error noise when closing down electrum.
2015-08-31 20:33:39 +09:00
Neil Booth
2ee506ac03 Fix typo. 2015-08-31 14:05:38 +09:00
Neil Booth
2d05e7d891 Merge the network and network_proxy 2015-08-31 12:00:38 +09:00
Neil Booth
a056f9804b Notify when a chunk of headers is validated
And a couple of cosmetic changes.
This should fix #1379.
2015-08-25 14:27:53 +09:00
Neil Booth
49a48d52ac Use select. 2015-08-22 14:03:08 +02:00
ThomasV
713fa00d86 fix estimatefee for daemon 2015-08-07 10:54:32 +02:00
ThomasV
43880d452e dynamic fees 2015-08-05 15:45:28 +02:00
Eagle[TM]
4578777c29 network: Update default servers 2015-07-10 19:35:02 +02:00
Neil Booth
5acbe00cbf Suggested auto_connect daemon mode fix for #1336 2015-07-03 11:50:53 +09:00
ThomasV
604d5d432c sanitize server at the interface level (follow up to issue #1330) 2015-07-01 09:09:00 +02:00
ThomasV
0ac3aebb88 fix proxy setting issue #1330 2015-07-01 08:45:47 +02:00
ThomasV
118052d815 v2.4 will require protocol v0.10 2015-06-27 15:22:34 +02:00
ThomasV
fdd43bd5ad fix issue in f307b18546 2015-06-24 09:35:54 +02:00
ThomasV
f307b18546 Merge pull request #1268 from kyuupichan/blockchain_nothread
Make the blockchain class not a thread
2015-06-24 09:00:52 +02:00
ThomasV
f894af90d7 fix deserialize_proxy. fixes #1309 2015-06-23 14:22:10 +02:00
ThomasV
d6cdc085ea fix #1283 2015-06-11 10:03:26 +02:00
ThomasV
e31ac7905d Clear address cache when interface changes. Send requests only if interface is connected. 2015-06-11 02:10:06 +02:00