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
Robert Habermeier
d515ef9a2a
test for id_guard behavior
2017-01-09 12:20:44 +01:00
Robert Habermeier
54058e3712
ensure failed requests considered unfulfilled
2017-01-09 11:29:06 +01:00
Robert Habermeier
75b5acf21d
use common BasicAccount type
2017-01-05 13:26:14 +01:00
Robert Habermeier
f63faea308
test for request_set and remove idle flag
2017-01-04 18:43:11 +01:00
Robert Habermeier
04282be721
use request set to provide better timeouts
2017-01-04 18:00:12 +01:00
Robert Habermeier
6ad0a0baaa
fix test imports
2017-01-04 16:12:58 +01:00
Robert Habermeier
ed98c389ca
no_peers test
2017-01-04 14:54:50 +01:00
Robert Habermeier
38ac84f0c7
reassign requests on failure
2017-01-04 14:33:32 +01:00
Robert Habermeier
ca35b345ca
separate request dispatch from creation
2017-01-04 13:58:26 +01:00
Robert Habermeier
1d51b6f7e5
handle incoming LES requests
2017-01-04 13:34:50 +01:00
Robert Habermeier
4e94f43644
tests for request module
2017-01-04 12:48:07 +01:00
Robert Habermeier
01977e60aa
finish request module, basic dispatch
2017-01-03 19:13:40 +01:00
Robert Habermeier
4dbbc3bc88
beginnings of on_demand request module + verification
2017-01-03 16:18:57 +01:00
Robert Habermeier
ddf2b944b5
on demand request dispatch
2016-12-28 21:46:55 +01:00
Robert Habermeier
4daa645789
dispatch header requests
2016-12-28 16:20:46 +01:00
Robert Habermeier
5309ba45a8
update peer status from announcement
2016-12-28 16:20:35 +01:00
Robert Habermeier
e6324a83f1
Merge branch 'master' into lightsync
2016-12-28 15:53:11 +01:00
Robert Habermeier
c2ad769fb7
Merge branch 'master' into on-demand-les-request
2016-12-28 14:00:33 +01:00
Robert Habermeier
fe1f542c4f
Owning views of blockchain data ( #3982 )
...
* owning views of blockchain data
* port blockchain and client traits to owning views
* fix ethcore tests
* use strong headers and bodies in ethcore_light
* port ethsync to use owning views
* port rpc to owning views
* port parity informant and blockchain export
2016-12-28 12:44:51 +00:00
Robert Habermeier
428d5db9d1
beginning of on_demand
2016-12-27 16:43:28 +01:00
Robert Habermeier
9b4f90718f
Display impl for ReqId
2016-12-27 13:54:51 +01:00
Robert Habermeier
8125b5690c
Port try
macro to new ?
operator. ( #3962 )
...
* initial untry sweep
* restore try in ipc codegen, fix inference
* change a few missed try instances
2016-12-27 12:53:56 +01:00
Robert Habermeier
55dbfbf35b
address grumbles
2016-12-27 12:24:18 +01:00
Robert Habermeier
0688ccb003
chain_mem_used function on client
2016-12-23 14:54:31 +01:00
Robert Habermeier
bdf90df56f
client report and heap size for header chain
2016-12-23 14:50:42 +01:00
Robert Habermeier
d0194f3ad3
Merge branch 'master' into lightsync
2016-12-23 13:39:06 +01:00
Nikolay Volf
af501e6467
Custom attribute for binary serialization ( #3922 )
...
* derive(Binary) -> binary
* ethcore types refact
* fixup ethcore
* make binary optional
* fix common types
* fix updater
* remove condition
2016-12-21 15:09:35 +01:00
Robert Habermeier
01b494ca2c
Merge branch 'master' into lightsync
2016-12-21 13:42:07 +01:00
Robert Habermeier
4c7dc9f2d8
require only simpler methods on Provider
2016-12-19 14:54:10 +01:00
Robert Habermeier
a48435ca60
Merge branch 'master' into lightsync
2016-12-19 13:15:37 +01:00
Robert Habermeier
ccdf5d5873
increase tick timer and limit peers to one req
2016-12-19 12:28:42 +01:00
Robert Habermeier
2c0f456e4d
guard import order
2016-12-16 23:53:20 +01:00
Robert Habermeier
a7505be627
fix deadlocks
2016-12-16 22:09:29 +01:00
arkpar
65f07e5aa7
Renamed some functions
2016-12-16 14:54:26 +01:00
Robert Habermeier
9c7340307e
handle events, minimal state machine
2016-12-15 21:51:08 +01:00
Robert Habermeier
72f7391551
add BasicContext trait for handler ticking
2016-12-15 19:25:52 +01:00
Robert Habermeier
5346539ef8
minimal header import and client service
2016-12-15 18:47:26 +01:00
arkpar
2952ea1b85
Delayed transactions
2016-12-15 18:19:19 +01:00
Robert Habermeier
0768a61944
light: add LightChainClient trait
2016-12-14 23:26:15 +01:00
Robert Habermeier
6fb71527e4
light: search for common ancestor with peers
2016-12-13 21:09:57 +01:00
Robert Habermeier
484023b171
light: max requests as 0 on unknown peer
2016-12-13 20:13:55 +01:00
Robert Habermeier
2a01b43bd1
light: block status and CHT module
2016-12-13 20:13:16 +01:00
Robert Habermeier
45ef986c04
light: finish basic header chain and add tests
2016-12-13 14:48:03 +01:00
Robert Habermeier
4173ecf2a5
light: begin header chain
2016-12-12 22:59:05 +01:00
Gav Wood
c0a2d5c8f5
Merge pull request #3796 from ethcore/tx-broadcast
...
Avoid broadcasting transactions to peers that send them
2016-12-12 04:13:56 +01:00
Tomasz Drwięga
83d9bc189b
Fixing test
2016-12-11 21:08:15 +01:00
Gav Wood
58b72c521d
Rename ethcore -> parity in licenses.
2016-12-11 19:31:31 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license.
2016-12-11 19:30:54 +01:00
Tomasz Drwięga
b56f12adc6
Merge branch 'master' into tx-broadcast
...
Conflicts:
ethcore/light/src/net/context.rs
ethcore/light/src/net/tests/mod.rs
2016-12-11 17:31:56 +01:00
Robert Habermeier
6724f574d6
Light server improvements and protocol adjustments ( #3801 )
...
* light: basic transaction pool
* light: network timeouts
* fix dead code warnings
* les: update to new message format
* fix indentation
* les: hash or number in headers req, not both
2016-12-11 15:40:31 +01:00
Tomasz Drwięga
1e8638608c
fixing tests
2016-12-10 22:59:35 +01:00
Tomasz Drwięga
b5020d3c8d
Fixing Light context API
2016-12-10 21:25:28 +01:00
Tomasz Drwięga
aaf6da4c00
Returning persistent node id
2016-12-10 16:55:29 +01:00
Gav Wood
0977b82eeb
More fixes.
2016-12-10 13:54:17 +01:00
Gav Wood
7eb30b1249
Fix build.
2016-12-10 13:52:43 +01:00
Gav Wood
82efa2675e
Merge remote-tracking branch 'origin/master' into consistent-id
2016-12-10 13:36:30 +01:00
Gav Wood
5f1fcf95e0
Make *ID names consistent with std Rust (Id)
2016-12-09 23:01:43 +01:00
Robert Habermeier
415fccfffb
add ethcore-light cov target
2016-12-09 15:20:45 +01:00
Robert Habermeier
5f37c93659
les: use negotiated protocol version
2016-12-09 15:04:54 +01:00
Robert Habermeier
07d7a37319
les: make peer buffer flow params optional
2016-12-09 01:06:51 +01:00
Robert Habermeier
d53c47aa69
more tracing
2016-12-09 00:35:34 +01:00
Robert Habermeier
e7ce8c9558
light: broadcast status updates to peers
2016-12-08 23:57:09 +01:00
Robert Habermeier
6f5f1f5e26
light: integrate with sync + serve_light CLI
2016-12-08 23:21:47 +01:00
Robert Habermeier
64ebcd0f24
fix contract code response encoding; add test
2016-12-08 16:12:00 +01:00
Robert Habermeier
3e8ee9d423
light IPC feature and mock state proofs
2016-12-08 13:44:17 +01:00
Robert Habermeier
8d16f73795
first few LES tests, fix get_header logic bug
2016-12-08 12:20:18 +01:00
Robert Habermeier
2d1a3ff091
les: generalize network and event contexts with traits
2016-12-07 17:52:10 +01:00
Robert Habermeier
10d75b6de0
light: implement all response handlers
2016-12-07 15:27:04 +01:00
Robert Habermeier
cdc758368a
les: flesh out event handler
2016-12-07 13:52:45 +01:00
Robert Habermeier
5db93cd433
light: fix compile errors
2016-12-05 17:09:05 +01:00
Robert Habermeier
a6c2408562
IPC codegen in ethcore-light; remove network dependency
2016-12-05 16:56:21 +01:00
Robert Habermeier
61c3358447
move light to its own crate again
2016-12-05 16:55:33 +01:00
Robert Habermeier
11e6b08f02
Move ethcore-light crate into ethcore/light module
2016-11-09 23:39:56 +01:00
Robert Habermeier
ebff010d16
partial implementation of provider for client types
2016-11-09 23:25:54 +01:00
Robert Habermeier
6c23d53f04
allow dead code temporarily
2016-11-09 18:05:56 +01:00
Robert Habermeier
25d5efac15
making announcements, clean up warnings
2016-11-09 18:05:00 +01:00
Robert Habermeier
c132775bb1
handle announcements
2016-11-09 16:21:09 +01:00
Robert Habermeier
ec1b982b52
errors, punishment, and handshake
2016-11-09 15:36:26 +01:00
Robert Habermeier
ca25deb4e6
implement announcement serialization
2016-11-08 19:00:37 +01:00
Robert Habermeier
440f5e537f
implement handshake parsing and creation
2016-11-08 17:13:43 +01:00
Robert Habermeier
4ba4861734
begin status module
2016-11-07 19:16:23 +01:00
Robert Habermeier
051effe9f8
buffer flow basics, implement cost table
2016-11-07 15:40:34 +01:00
Robert Habermeier
d573ef3cc2
remove LESv2 requests
2016-11-06 20:02:15 +01:00
Robert Habermeier
44e36596c9
buffer flow scaffolding
2016-11-06 19:04:30 +01:00
Robert Habermeier
52abbc0643
experiment with answering requests
2016-11-04 23:50:56 +01:00
Robert Habermeier
c1a6dbe75f
Move all light client work to own crate
2016-11-04 19:40:11 +01:00