Commit Graph

106 Commits

Author SHA1 Message Date
ravinsp
ef1a650f91 Added TLS on/off flag for user port. 2020-09-24 11:05:42 +05:30
Chalith Desaman
3e2b7dbcfa Replaced boost filesystem operations with linux system calls (#125)
* Replaced boost filesystem operations with linux syscalls
* Removed boost filesystem dependency from CMAKE
2020-09-23 12:49:06 +05:30
priyadharsun
91122474a1 Replaced Boost log with Plog. (#124) 2020-09-23 06:06:42 +05:30
Chalith Desaman
0de20dba28 Parallel read request processing with thread pool. (#118) 2020-09-18 09:29:34 +05:30
ravinsp
3c231727e5 Cleaned up unused includes. 2020-09-11 06:42:04 +05:30
Savinda Senevirathne
2fc93d4291 Migrating json parsing from rapidjson to jsoncons. (#112)
* Migrating JSON parsing from RapidJSNO library to jsoncons library

* updating readme file and removing RapidJSON headers
2020-08-31 14:05:42 +05:30
Ravin Perera
817ccd6a88 Implemented contract read requests. (#98) 2020-06-19 21:52:03 +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
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
8cf869cf9e Observer mode fix (#78)
* Fixed observer mode consensus issues.
* Added startup_mode to fix mode change check.
2020-01-17 11:04:45 +05:30
Ravin Perera
b6497d0f82 Cmake cleanup (#77) 2019-12-21 07:05:20 +05:30
Ravin Perera
7255dae84c Code cleanup and naming consistency improvement. (#73) 2019-12-19 19:22:17 +05:30
Ravin Perera
b475e2796e Integrated default app bill verification for user inputs. (#72)
Initial appbill implementation from @codetsunami integrated to hpcore. #47
2019-12-19 17:26:04 +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
Ravin Perera
0dde10c306 Contract state monitoring and rollback infrastructure. (#61) 2019-11-25 19:30:15 +05:30
ravinsp
684a6bb18f Removed ptrace and improved process args handling. 2019-11-23 07:25:22 +05:30
ravinsp
198fe16359 User message protocol fixes. 2019-11-11 15:49:01 +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
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
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
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
a51ec4a030 Restructured user message handling. 2019-10-31 14:23:01 +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
7a6f835f44 Reverted std filesystem to boost filesystem. 2019-10-28 09:47:29 +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
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
7c068ecb85 Enabled -fno-exceptions 2019-10-17 11:16:37 +05:30
Ravin Perera
da9c5de9d0 Removed keytype config field in favour of key prefix. 2019-10-17 10:18:51 +05:30
Ravin Perera
0fb9ebf79f Changed base64 to hex encoding. 2019-10-17 00:17:15 +05:30
Ravin Perera
8b003aeaa2 Switched to binary pubkeys from base64 for internal user data (#29)
* String copy optmisations.
* User pubkey binary.
2019-10-16 06:45:49 +05:30
Ravin Perera
56c3e3ee93 Optimized string passing with string_view. 2019-10-14 17:03:11 +05:30
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
f64cdc6ad0 Implemented user connection challenge handshake (#20)
Implemented user connection challenge handshake.
Optimized user challenge message processing.
2019-10-11 17:29:45 +05:30
Ravidu Lashan
070994277d Added key type to the config file (#17)
Added key type to the config
2019-10-10 15:33:42 +05:30
Ravin Perera
d8581f7ce9 General code optmisations and cleanup. (#15)
Updated `version_compare` based on this issue: #13 
Got rid of `replace_string_contents` helper func.
Replaced #define macros with static consts.
Moved comments from headers to source files.
2019-10-10 12:57:46 +05:30
Ravin Perera
374424f98f Code comments and consistency improvements. (#12) 2019-10-09 22:26:08 +05:30
Ravin Perera
22a140c543 Added npl fields to the contract input. (#7)
* Added npl fields to the contract input.
* Made parameter passing optimisations.
2019-10-07 10:59:34 +05:30
Ravin Perera
d1d59ddf63 Refactored conf and crypto namespaces. 2019-10-05 09:42:47 +05:30
Ravin Perera
e109e1be47 Improved contract loading validation. 2019-10-04 17:02:17 +05:30
Ravin Perera
0fecafe52e Added contract process execution functions. (#6) 2019-10-03 11:53:30 +05:30