From 08e26966275d5d0d7186bf734842e5da59a5bec9 Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Wed, 21 Jan 2015 21:22:05 +0100 Subject: removed send queues from providermanager --- dist/ethereum.js | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) (limited to 'dist/ethereum.js') diff --git a/dist/ethereum.js b/dist/ethereum.js index 80788b9cd..477e2fd25 100644 --- a/dist/ethereum.js +++ b/dist/ethereum.js @@ -726,17 +726,19 @@ var ProviderManager = function() { /// sends outgoing requests, if provider is not available, enqueue the request ProviderManager.prototype.send = function(data) { - data._id = this.id; data.args = data.args || []; - this.id++; + data._id = this.id++; if (this.provider === undefined) { console.error('provider is not set'); - return JSON.stringify({result: 'error, provider is not set'}); + return undefined; } - return this.provider.send(data); + //TODO: handle error here? + var result = this.provider.send(data); + result = JSON.parse(result); + return result.result; }; /// setups provider, which will be used for sending messages @@ -749,14 +751,6 @@ ProviderManager.prototype.set = function(provider) { this.ready = true; }; -/// resends queued messages -ProviderManager.prototype.sendQueued = function() { - for(var i = 0; this.queued.length; i++) { - // Resend - this.send(this.queued[i]); - } -}; - /// @returns true if the provider i properly set ProviderManager.prototype.installed = function() { return this.provider !== undefined; @@ -916,14 +910,10 @@ var setupMethods = function (obj, methods) { obj[method.name] = function () { var args = Array.prototype.slice.call(arguments); var call = typeof method.call === 'function' ? method.call(args) : method.call; - var result = web3.provider.send({ + return web3.provider.send({ call: call, args: args }); - - result = JSON.parse(result); - return result.result; - }; }); }; @@ -934,24 +924,17 @@ var setupProperties = function (obj, properties) { properties.forEach(function (property) { var proto = {}; proto.get = function () { - var result = web3.provider.send({ + return web3.provider.send({ call: property.getter }); - - result = JSON.parse(result); - return result.result; - }; + if (property.setter) { proto.set = function (val) { - var result = web3.provider.send({ + return web3.provider.send({ call: property.setter, args: [val] }); - - result = JSON.parse(result); - return result.result; - }; } Object.defineProperty(obj, property.name, proto); @@ -959,6 +942,7 @@ var setupProperties = function (obj, properties) { }; // TODO: import from a dependency, don't duplicate. +// TODO: use bignumber for that! var hexToDec = function (hex) { return parseInt(hex, 16).toString(); }; @@ -1117,9 +1101,8 @@ var shhWatch = { setupMethods(shhWatch, shhWatchMethods()); web3.setProvider = function(provider) { - provider.onmessage = messageHandler; + //provider.onmessage = messageHandler; // there will be no async calls, to remove web3.provider.set(provider); - web3.provider.sendQueued(); }; /// callled when there is new incoming message -- cgit v1.2.3