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