Commit Graph

96 Commits

Author SHA1 Message Date
Ravidu Lashan
fd2c960068 closed unclosed file descriptors (#68) 2019-12-13 11:23:25 +05:30
ravidulashan
8c94ec5647 Updated consensus messages. 2019-12-13 10:28:30 +05:30
Ravidu Lashan
1238e96423 State synchronization logic (#67)
* Added flat buffer state message request

* Added state vote

* Added state to ledger history and did necessary changes

* Completed receiveing state request

* State read/write helpers.

* Added new fbs schema

* Added more state_store helper methods.

* Started processing response

* Fixed compile errors

* Added get file length.

* Handled state content response

* Statefs code cleanup and fixes.

* Completed response handling

* Completed changes in handling state response

* State sync integration fixes.

* Fuse mount waiting logic.

* Fixed state syncing issues

* state sync fixes

* fixes

* State sync fixes.

* Fixed fs entries retrieval issues.

* changed desync logic

* Added directory helper functions.

* Handled return statemetns from statefs

* Fixed state folder deletion.

* handled errors from statefs

* Working for small files

* Got state sync working.

* Removed cout.

* Fixed catering for stae issue

* Fixed block hash map flatbuf issue.

* Added expected hash

* Added helpers for expected hash comparison.

* Improved state req/resp awaiting logic.

* Fixes.

* Fixes.

* Block request ordering fix.

* Removed couts

* Closed non-closed file descriptors

* Minor fixes.

* Cluster create script changes.

* Fixed reset time off issue.
2019-12-13 10:20:41 +05:30
Asanka Indrajith
b506b34b4f Consensus reliability enhancements (#62)
* Implemented going observer mode, fixed genesis lcl retrieval issue and stage closing time.

* Fixed clearing all user output instead of consensed outputs

* Modified waiting time to improve performance.

* Fixed deadlock of waiting for insufficient peers because of recent changes.

* Removed initial waiting time for peer connections to start consensus.
2019-12-06 05:08:51 -05:00
ravinsp
7428d42aad VM cluster scripts improvements. 2019-12-02 11:05:13 +05:30
ravinsp
5bfcaba58b Improved vm cluster scripts. 2019-11-28 16:29:07 +05:30
ravinsp
f42bd56cb3 VM cluster setup scripts. 2019-11-26 19:00:50 +05:30
Ravin Perera
0dde10c306 Contract state monitoring and rollback infrastructure. (#61) 2019-11-25 19:30:15 +05:30
Asanka Indrajith
bebdace519 Achieving reliable consensus. (#60)
* Remove considering stage when voting and considering lcl.

* Stage sync , lcl sync  and candidate set changes.

* Implemented ledger close time resolution and fixed ledger retrieval issues.

* Code cleanup and added more comments on reliability changes.

* Added further comments and  clenup.
2019-11-25 07:40:22 -05:00
ravinsp
684a6bb18f Removed ptrace and improved process args handling. 2019-11-23 07:25:22 +05:30
Asanka Indrajith
95683035b9 LCL history request and response. (#59)
Detect and request missing lcl history from another random node.
Sending lcl history response to a asked node.
Getting lcl history response and applying it.
Delete lcl that exceeds max ledger sequence.
2019-11-19 07:50:33 -05:00
Ravidu Lashan
0439ec93e2 Added npl message feature (#58)
* Completed intial implementation

* Completed basic implementation of npl

* Completed implementation of npl

* Removed unused code

* completed review changes

* Removed unused code segments

* Added descriptive comments

* Added comment to describe npl message header
2019-11-15 10:56:35 +05:30
Ravin Perera
e742034e4e Test scripts (#57)
Added test scripts for user challenge tests.
2019-11-13 10:54:10 +05:30
ravinsp
198fe16359 User message protocol fixes. 2019-11-11 15:49:01 +05:30
Ravin Perera
39031c3157 User control messages. (#56) 2019-11-11 15:06:25 +05:30
ravinsp
403f2e1b21 Implemented passive operating mode. 2019-11-11 12:25:21 +05:30
ravinsp
ef46666fd2 Added peer and user connection limits. 2019-11-10 14:55:55 +05:30
ravinsp
a89e7eb6c8 Reorganized p2p context objects. 2019-11-10 08:45:20 +05:30
codetsunami
616aeaa5eb bug fixes and improvements to config 2019-11-10 08:21:00 +05:30
ravinsp
a3bc504bf7 Integrated merkel map buildup after contract execution. 2019-11-09 11:44:50 +05:30
ravinsp
32ef41bfdf Integrated ptrace tracking for state files. 2019-11-09 07:38:26 +05:30
ravinsp
7815390b25 Implemented basic corebill tracking. 2019-11-08 13:20:34 +05:30
ravinsp
c5ab13b357 Separated pipe creation and writing. 2019-11-07 22:34:56 +05:30
Ravin
8d31075b7b Code improvements. 2019-11-07 17:21:21 +05:30
Ravin Perera
d16b43406b Added bad and duplicate message counters to socket_session (#55) 2019-11-07 06:57:34 +05:30
Ravin Perera
8a153d5bb5 Implemented user duplicate input message check. 2019-11-05 11:47:42 +05:30
Ravin Perera
83189556de Refactored user I/O with signed inputs and NUPs. (#53) 2019-11-03 22:45:23 +05:30
Ravin Perera
cb364cc420 Compilation time improvements. (#52)
* Precompiled header for all common library headers (with cmake 3.16rc3).
* Divided cmake build into shared libraries.
* Added gold linker support.
* Separated websockets lambda expressions to an independent file.
2019-11-02 14:46:21 +05:30
Ravin Perera
7b78387cef Switched to specific libsodium crypto funcs. 2019-11-01 15:23:29 +05:30
Asanka Indrajith
b598025346 Loading and saving ledger and lcl consensus. (#51)
* Ledger saving, loading, consensus with ledger sequence number.
* std terminate exception handler.
2019-11-01 15:21:25 +05:30
Ravin Perera
b8ffb83869 User restructuring fixes. 2019-10-31 14:30:33 +05:30
Ravin Perera
a51ec4a030 Restructured user message handling. 2019-10-31 14:23:01 +05:30
Ravin Perera
2e96ca009f Restructured user message handling. 2019-10-31 12:44:06 +05:30
Ravin Perera
93d4abfd2a Updated hashing algorithm. 2019-10-30 18:35:08 +05:30
Ravidu Lashan
2ba739c984 Implemented socket message monitor infrastructure (#48)
* Completed adding message threshold

* Removed unused cpp file

* Completed review suggestions

* Added default value check

* Cleanup.

* Added header definitions for socket monitor
2019-10-30 14:16:22 +05:30
Ravin Perera
eeadd1d744 Peer message duplicate detection. 2019-10-28 23:28:51 +05:30
Ravin Perera
1fa19c381f Reorganised flatbuf schema files and helper funcs. 2019-10-28 20:11:28 +05:30
Ravin Perera
2715ff7242 Restructured p2p message signing keys. 2019-10-28 18:27:52 +05:30
Ravin Perera
7a6f835f44 Reverted std filesystem to boost filesystem. 2019-10-28 09:47:29 +05:30
Ravin Perera
5ea2bef62a Improved user inputs handling in consensus (#46)
Updated flatbuffer proposal raw_inputs, raw_outputs data structure.
Improved user inputs handling in consensus.
2019-10-28 00:17:35 +05:30
Asanka Indrajith
d6acee4e09 Basic consensus implementation (#45)
Consensus for user connections, user inputs, contract outputs and time.
2019-10-26 11:46:32 -04:00
Ravidu Lashan
b4b9132d18 Seperated out templated headers and implementation in sock namespace (#43) 2019-10-25 21:57:28 +05:30
Ravidu Lashan
46d114f44b Added read message max size in socket communication (#42)
* Added peermaxmsg size to config

* Completed inital implementation

* Completed adding message max size

* Refactored code

* Refactored code to have data types using std library

* Added peer maxmpm

* Added const to session_options
2019-10-25 11:34:54 +05:30
Ravidu Lashan
40358890af Added initial TLS support for socket communication (#41)
* Added initial commit

* Added tls to web sockets which require key file and cert file

* Added meaningful comments
2019-10-24 14:54:33 +05:30
Ravin Perera
61b38bb0a0 Implemented socket message templates. (#40)
Implemented socket message templates to support broadcast (shared_ptr) and to achieve buffer zero-copy.
2019-10-23 13:04:57 +05:30
Ravin Perera
b4237f1285 Added npl channel to contract process. 2019-10-21 19:25:45 +05:30
Asanka Indrajith
7ed1466ad9 p2p connection, message handling, validation and serialization (#38)
Implement basic peer to peer connection establishment and maintenance.
Message serialization and parsing using FlatBuffer(Including defining message schema).
Validating incoming proposal messages.
2019-10-21 08:32:25 -04:00
Ravin Perera
f77dae2f28 Added file log. 2019-10-21 14:01:16 +05:30
Ravin Perera
2d5d8960c0 Boost log integration. (#37) 2019-10-20 21:45:59 +05:30
Ravin Perera
84f43b7549 Added Docker support. 2019-10-18 23:47:28 +05:30