Commit Graph

111 Commits

Author SHA1 Message Date
Vurich 3d8dc11442 Upgrade `elastic-array` to 0.9.0
This is a huge change, which includes some changes to replace code that
originally cloned to reuse allocations instead. The updated
`elastic-array` crate renames its consuming `Vec`-conversion method to
`into_vec`, which means that I can do a simple
`sed -i 's/to_vec/into_vec/'` and then fix the compilation errors.

This commit is probably a minor performance win and definitely a
significant readability win.
2017-06-29 13:05:33 +02:00
Nikolay Volf e1fef5c732 Update dependencies and bigint api (#5685)
* update to latest bigint

* bump elastic array and deps

* fix rlp tests

* also update all smallvec deps

* fix doc test

* reduce parking in attempt to fix CI bug

* fix from/into electum bug

* remove duplicate imports
2017-05-24 12:31:33 +02:00
Robert Habermeier aa41b48ba0 Dynamically adjust PIP request costs based on gathered data (#5603)
* beginnings of load timer

* initial load timer implementation

* saturating adds

* create flow params from distribution

* update request credits and acknowledgement

* mark cumulative cost dead code

* fix compilation

* tests

* supply load share and other params to  lightprotocol params

* add file store

* fix ethsync compilation

* reshuffle constants
2017-05-23 12:31:09 +02:00
Robert Habermeier a98052fe74 Merge branch 'master' into on-demand-priority 2017-04-13 16:44:47 +02:00
Adrian Brink e004e05037 Spelling fixes and link addition about LRU cache in the docs. 2017-04-07 21:34:29 +02:00
Robert Habermeier 68ec7ae41e tests for on_demand 2017-04-07 19:35:39 +02:00
Robert Habermeier 35740456a4 generalize RequestBuilder 2017-04-05 15:02:44 +02:00
Robert Habermeier 3eece20967 Merge branch 'master' into lightcli 2017-04-03 08:58:20 +02:00
Tomasz Drwięga d2394d3ac3 Updating paths to repos. (#5330)
* Updating paths to repos.

* Updating rotor and libusb

* Fixing other occurrences
2017-03-29 15:17:27 +02:00
Robert Habermeier ac057ebe93 fix test build 2017-03-23 22:36:15 +01:00
Robert Habermeier e0a79699ea transaction propagation on a timer 2017-03-23 20:31:20 +01:00
Robert Habermeier 5700f4ac81 fix block response decoding 2017-03-23 18:31:16 +01:00
Robert Habermeier 10a470a5fa better bookkeeping of requests in light sync 2017-03-23 15:44:16 +01:00
Robert Habermeier 1485dd07ae use prev credits in tracing 2017-03-23 14:38:32 +01:00
Robert Habermeier 64cec5ff7d Implement PIP messages, request builder, and handlers (#4945)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future

* initial request definitions

* RLP encoding and decoding for requests

* proofs of non-existance in ProvingBlockChainClient

* new requests in provider.

* encode and decode responses

* complete initial request changes

* handle request packet in LightProtocol

* handle response packets

* implement requesting from

* re-do cost table

* get tests compiling

* fix cost table RLP encoding

* roundtrip tests for request types

* request builder tests

* move request_builder -> request::builder

* get network tests working

* return only complete headers responses

* request builder improvements

* New version of jsonrpc.

* split request filling into fill,complete

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* use PIP messages in on_demand, old API

* migrate oneshot::complete to send in on_demand

* get on_demand tests to compile

* port ethsync to PIP messages

* adjust to minor on_demand API changes in RPC

* Using dedicated branch for jsonrpc

* Bump
2017-03-23 13:17:05 +01:00
Robert Habermeier 4eb69dc0fe reintroduce credits recharging 2017-03-23 04:36:49 +01:00
Robert Habermeier 0abbd7ac97 Merge branch 'pip-msg' into lightcli 2017-03-22 22:08:39 +01:00
Robert Habermeier e3d6525d83 store cumulative cost in pending request set. 2017-03-22 19:30:42 +01:00
Robert Habermeier a0619fc101 Merge branch 'master' into pip-msg 2017-03-22 15:56:09 +01:00
Marek Kotewicz 044d070667 rlp deserialization refactor, 30% faster (#4901)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* moved rlp benches and rlp tests

* rlp deserialization refactor, 30% faster

* removed redundant comment, print

* fixed compiling parity with new rlp deserialization

* removed redundant double-space

* fixed failing test

* updated rlp docs, removed unused traits

* fixed rlp benchmarks

* replace usage of WriteBytesExt with ByteOrder

* removed unused, commented out code

* fixed merge conflict
2017-03-22 14:41:46 +01:00
Robert Habermeier fe52e969b6 Merge branch 'master' into pip-msg 2017-03-21 15:24:47 +01:00
Marek Kotewicz a555686bcd rlp serialization refactor (#4873)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* removed redundant comment, print

* removed redundant double-space

* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00
Robert Habermeier 8be41ad946 Merge branch 'master' into pip-msg 2017-03-17 14:13:10 +01:00
Marek Kotewicz 3fe3353696 removed redundant FixedHash trait, fixes #4029 (#4866) 2017-03-11 22:58:15 +04:00
Robert Habermeier 391eb4b66c get network tests working 2017-03-09 16:55:13 +01:00
Robert Habermeier 8fb0a2d417 move request_builder -> request::builder 2017-03-08 20:11:22 +01:00
Robert Habermeier a1186727af fix cost table RLP encoding 2017-03-08 18:38:25 +01:00
Robert Habermeier 9268a1f59c get tests compiling 2017-03-08 18:27:29 +01:00
Robert Habermeier 9692616958 re-do cost table 2017-03-08 18:01:41 +01:00
Robert Habermeier bb39f104f4 implement requesting from 2017-03-08 17:37:07 +01:00
Robert Habermeier ee034185a5 handle response packets 2017-03-08 15:28:46 +01:00
Robert Habermeier 8a3b5c6332 Remote transaction execution (#4684)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future
2017-03-08 14:39:44 +01:00
Robert Habermeier dbd05e6c92 handle request packet in LightProtocol 2017-03-07 20:58:23 +01:00
Robert Habermeier 04291fe71e complete initial request changes 2017-03-07 19:48:07 +01:00
Robert Habermeier 1ff0abc661 Merge branch 'master' into remote-tx-exec 2017-02-26 13:55:29 +01:00
Robert Habermeier 69e82e15a3 request transaction proofs from on_demand 2017-02-25 20:10:38 +01:00
Robert Habermeier 2b671b8476 test for transaction proof message 2017-02-25 12:43:43 +01:00
Robert Habermeier 4158693470 network messages for transaction proof 2017-02-25 11:07:38 +01:00
Robert Habermeier 92e5982127 generate transaction proofs from provider 2017-02-25 00:27:48 +01:00
Robert Habermeier ddbdfafc05 buffer flow -> request credits 2017-02-23 23:10:29 +01:00
Robert Habermeier 9316eb4ad3 (most of) parity RPC for light client 2017-02-17 21:38:43 +01:00
Gav Wood 8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
Robert Habermeier b739704902 ensure write lock isn't held when calling handlers (#4285) 2017-01-24 19:15:59 +00:00
Robert Habermeier 3ff9324ec0 LES Peer Info (#4195)
* connected peers function for network service

* get LES peer info in sync API

* new peer info in RPC
2017-01-20 12:41:49 +01:00
Robert Habermeier 3040a1c83e Merge pull request #4093 from ethcore/better-timeouts
LES: Better timeouts + Track failed requests
2017-01-18 15:04:48 +01:00
Robert Habermeier f0eab337d8 Merge pull request #4036 from ethcore/on-demand-les-request
On demand LES request
2017-01-13 14:36:48 +01:00
Tomasz Drwięga e11353f94c UnverifiedTransaction type (#4134)
* Introducing ValidSignedTransaction

* Verifiying transactions in engines

* Widening use of VerifiedSignedTransaction

* Renaming Transactions

* Uncommenting banning queue & Fixing tests

* Fixing json tests

* Fixing pre-homestead test

* Fixing imports

* Addressing grumbles

* Fixing test
2017-01-13 08:51:36 +00:00
Robert Habermeier 7dde02b25d Merge branch 'master' into on-demand-les-request 2017-01-12 11:23:47 +01:00
Robert Habermeier e88c62d37d Merge branch 'master' into better-timeouts 2017-01-11 18:55:16 +01:00
Robert Habermeier 7123f19a75 Test harness for lightsync (#4109)
* make on_connect/disconnect public

* free flow params constructor

* Shared ownership of LES handlers

* light provider impl for test client

* skeleton for testing light sync

* have test_client use actual genesis

* fix underflow in provider

* test harnesses for lightsync

* fix tests

* fix test failure caused by test_client changes
2017-01-11 14:39:03 +01:00