Commit Graph

198 Commits

Author SHA1 Message Date
Svyatoslav Nikolsky 6c7f5a83dd fix test 2016-11-10 16:22:03 +03:00
Svyatoslav Nikolsky e589c25581 fixed sync issue 2016-11-10 16:01:03 +03:00
Svyatoslav Nikolsky c24af2daed fix test + process inventory 2016-11-10 15:16:16 +03:00
Svyatoslav Nikolsky 9d6f09889e Merge branch 'master' into sync_as_bitcoind 2016-11-10 14:56:58 +03:00
Svyatoslav Nikolsky 78cae830cc headers-first sync 2016-11-10 14:50:00 +03:00
Marek Kotewicz 1f4cf7e443 fixed clippy lints for miner, sync, test-data and verification (#103)
* fixed clippy lints for miner, sync, test-data and verification

* make verification check_nbtis more idiomatic
2016-11-09 11:36:52 +01:00
Svyatoslav Nikolsky d9f032edce fixed couple of issues from #91 2016-11-07 12:32:40 +03:00
Svyatoslav Nikolsky adfdef6095 Forks support in sync (#91)
* intersect_with_inventory

* process_new_blocks_inventory fixed to support forks

* fixed sync issues

* fixed on_peer_block to support forks

* forks support in on_block_verification_*

* cleaning up

* cleaning up

* forget about best inventory

* ask for inventory after saturating

* '000..000'.into() -> H256::from(0)
2016-11-07 10:12:34 +01:00
Svyatoslav Nikolsky 85aaa66827 sync description fixed to support forks 2016-11-04 16:03:12 +03:00
Svyatoslav Nikolsky fedb8581d2 initial sync manager version 2016-11-04 12:36:58 +03:00
Svyatoslav Nikolsky 9b5a134d01 initial BlocksWriter version 2016-11-03 14:37:58 +03:00
Svyatoslav Nikolsky 3319e5e1f5 serving mempool request 2016-11-02 15:18:52 +03:00
Svyatoslav Nikolsky aec505a226 serve request 2016-11-02 14:23:38 +03:00
Svyatoslav Nikolsky 0b212ec5eb Serving some sync requests (#73)
* started work on synchronization_server

* continue synchronization server

* added response to getblocks message

* renamed Synchronization to Client

* LocalNode parametrized by Server

* LocalNode parametrized by Client

* fixed test

* support connect to given port via command line

* fixed couple of sync server issues && added sync server trace

* fixing sync issues

* fixed grumbles
2016-11-02 11:15:37 +01:00
Svyatoslav Nikolsky 1113f245c5 initial close_session implementation && test 2016-10-31 20:03:08 +03:00
Svyatoslav Nikolsky 0f4ee638cd added couple of synchroinzation tests 2016-10-31 19:18:58 +03:00
Svyatoslav Nikolsky 44c2faab59 added LocalNode tests 2016-10-31 18:22:02 +03:00
Svyatoslav Nikolsky 812a436d9b added couple of sync peers tests 2016-10-31 17:20:08 +03:00
Svyatoslav Nikolsky 3b91862d85 added synchronization_chain tests 2016-10-31 17:11:16 +03:00
Svyatoslav Nikolsky 1590307666 Merge pull request #66 from ethcore/protocol_on_close
add protocol method on_close
2016-10-31 17:01:54 +03:00
Svyatoslav Nikolsky 4f9d68cd99 Moved sync::BestBlock to db::BestBlock (#65)
* * moved BestBlock to db package
* use u32 as block index in sync package

* fixed compilation after merge
2016-10-31 14:58:48 +01:00
debris a1a66f5df8 add protocol method on_close 2016-10-31 14:44:48 +01:00
Svyatoslav Nikolsky d8a7b1be10 added brackets where identation starts/ends 2016-10-31 15:55:24 +03:00
Svyatoslav Nikolsky f71b49fc5b added some tests for hash_queue_chain 2016-10-31 15:14:25 +03:00
Svyatoslav Nikolsky b5d0644408 fixed tests 2016-10-31 14:46:11 +03:00
Svyatoslav Nikolsky 4e3ea35835 fixed sync::scheduled queue 2016-10-31 14:30:00 +03:00
Svyatoslav Nikolsky 543d66ce03 Fixed grumbles from #54 (#61)
* async verifying

* lost file

* removed debug timer

* fixed compilation && tests

* fixed typo

* async verification refactoring

* fixed sync stall

* fixed dead_code warning

* get rid of extra locks

* fixed tests

* * separated tasks executor from sync node
* local node mutex removed

* fixed grumbles from #54
2016-10-31 11:18:58 +01:00
debris 0d8c24fb7c intentory_type, fixed #39 2016-10-30 13:47:29 +01:00
Svyatoslav Nikolsky 68ddc7fa88 Async verification (#54)
* async verifying

* lost file

* removed debug timer

* fixed compilation && tests

* fixed typo

* async verification refactoring

* fixed sync stall

* fixed dead_code warning

* get rid of extra locks

* fixed tests

* * separated tasks executor from sync node
* local node mutex removed
2016-10-29 11:52:40 +02:00
NikVolf 3ca794ceca Merge branch 'master' into db-up 2016-10-27 12:13:31 +03:00
Svyatoslav Nikolsky 653b250960 fixed style && unwraps 2016-10-27 12:06:24 +03:00
NikVolf 247c3bd516 sync u32 fixes 2016-10-27 02:39:37 +03:00
Svyatoslav Nikolsky 1457d9d056 fixed compilation after merge 2016-10-26 17:46:47 +03:00
Svyatoslav Nikolsky 10f784a73b Merge branch 'master' into sync 2016-10-26 17:43:52 +03:00
Svyatoslav Nikolsky 964d013042 fixed sync tests 2016-10-26 17:33:28 +03:00
Svyatoslav Nikolsky 98803d6afe integrating sync module with db && verification 2016-10-26 15:56:52 +03:00
Svyatoslav Nikolsky 4804ac5e42 Sync with multiple peers (#37)
* * started work multiple peers support in sync
* some tests for synchronization && sync peers

* fixed compilation after merge

* fixed compilation after merge

* fixed compilation after merge

* added TODOs + fixed documentation
2016-10-26 11:46:10 +02:00
Svyatoslav Nikolsky cf4ab2e644 added TODOs + fixed documentation 2016-10-26 12:24:04 +03:00
Svyatoslav Nikolsky 2ab18a3ed4 fixed compilation after merge 2016-10-25 16:05:46 +03:00
Svyatoslav Nikolsky b7a188f68d fixed compilation after merge 2016-10-25 16:05:10 +03:00
Svyatoslav Nikolsky 917d18d6a5 Merge branch 'master' into sync 2016-10-25 16:03:34 +03:00
NikVolf fa4994941e fix typo 2016-10-25 15:54:09 +03:00
Svyatoslav Nikolsky dffa97de1e fixed compilation after merge 2016-10-25 15:52:13 +03:00
Svyatoslav Nikolsky 693f01393d Merge branch 'master' into sync 2016-10-25 15:48:28 +03:00
Svyatoslav Nikolsky d044acc3c9 * started work multiple peers support in sync
* some tests for synchronization && sync peers
2016-10-25 15:43:32 +03:00
NikVolf 387f9bc429 toh256 -> represeth256 2016-10-25 15:34:06 +03:00
NikVolf 108b4b6383 h256 represented entities 2016-10-24 18:18:02 +03:00
Svyatoslav Nikolsky b081ca3d70 Continue synchronization protocol impl (#30)
* p2p <-> sync interfaces proposal

* updated with example

* send errors will be handled in p2p module => no need to return to the sync

* poc of outbound sync connection

* simplified send_to_peer

* context has cpu pool and enent loop handles

* on_message won't return ProtocolAction anymore

* session initialized sync protocol, remove retain cycles on P2P::drop

* removed ProtocolAction

* uncommented ping protocol

* node_table sorts nodes also by recently used time

* started work on sync package

* send getaddr on connect

* fixed node_table insert, added insert_many

* addr protocol

* sync headers response

* continue sync

* continue sync protocol

* separated sync connection start from sync connection creation

* switched to getblocks (instead of getheaders)

* starting to receive blocks in sync

* deal with orphaned blocks in sync::local_chain

* continue sync

* fix warnings

* removed TODOs

* protocol::sync is back to private state

* fixed grumbes
2016-10-24 16:38:33 +02:00