Ravin Perera
baf5d8b14a
Fixed incorrect memory access issues. ( #109 )
2020-08-20 15:20:11 +05:30
Ravin Perera
d4a786e3b9
Refactored NPL message processing. Passed lcl to contract args. ( #105 )
2020-08-05 21:30:48 +05:30
Ravin Perera
96f23cb0ff
Added bson support for user message protocol. ( #99 )
2020-07-02 21:40:55 +05:30
Ravin Perera
04e230c82e
Improvements in state request/response handling. ( #97 )
2020-06-18 15:07:33 +05:30
Ravin Perera
b89dbe0a2c
Rearchitected state sync with hpfs. ( #96 )
2020-06-10 20:51:45 +05:30
Ravin Perera
10374352c6
hpfs integration. ( #94 )
2020-06-04 13:51:53 +05:30
Ravidu Lashan
ef8ec0f51d
Added challenge issue and verification for peer connections ( #93 )
...
Implemented flatbuffer peer challenge issue and verification messages.
Replaced session flags with challenge status enum.
2020-04-20 05:55:42 +05:30
Ravin Perera
ef4999f29e
Added binary support for user sockets. ( #90 )
2020-04-05 13:04:32 +05:30
Ravin Perera
920be03ade
Websocket re-architecture with websocketd and websocat ( #89 )
...
- Replaced beast with websocketd and websocat. #79 #83 #84
- Implemented inbound/outbound peer connection merging.
- Added graceful shutdown of hpcore with sigint. #87
2020-04-05 08:12:55 +05:30
Ravin Perera
4fefb7ca71
Refactored stage sync logic. ( #86 )
...
* Cleaned up stage time sync logic and avoided extra missed rounds.
* Moved stage sync time logic to beginning of consensus stage.
* Removed check_majority_stage.
* Re-organised lcl sync flow.
2020-02-10 14:27:37 +01:00
Ravin Perera
7255dae84c
Code cleanup and naming consistency improvement. ( #73 )
2019-12-19 19:22:17 +05:30
Asanka Indrajith
7a7aa6d5b3
Consensus enhancements and eliminating deadlocks after state inclusion. ( #69 )
2019-12-13 09:38:50 -05:00
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
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
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
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
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
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
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
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
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
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
ebf13209e1
Code consistency improvements ( #21 )
...
Fully-qualified namespace accessors
Updated function out param order
reinterpret_cast
2019-10-11 20:08:53 +05:30
Ravin Perera
374424f98f
Code comments and consistency improvements. ( #12 )
2019-10-09 22:26:08 +05:30
asanka-indrajith
79e70a9891
Formatting changes and code optimations.
2019-10-09 08:57:55 -04:00
asanka-indrajith
7e4690bbe6
Addditional comments expressing the need of compulsary fields.
2019-10-09 06:54:29 -04:00
asanka-indrajith
8eed642277
Add comments to protobuf helper methods and add protobuf to cmakelist.
2019-10-09 03:09:55 -04:00
asanka-indrajith
91319abc2d
Protobuf helper methods and fixed makefile issue.
2019-10-07 23:18:36 -04:00
asanka-indrajith
75434d4991
Implemented protobuf infastructure and definitions for proposal and npl messages.
2019-10-04 03:56:53 -04:00