Savinda Senevirathne
c87ae6693d
Patch config and hpfs sync refactor. ( #208 )
...
* Terminology changes from state to hpfs.
* Syncing hpfs parents in priority order.
* Changing how the hash is calculate in hpfs response validate check.
2021-01-06 10:50:58 +05:30
Chalith Desaman
a16eb39d1f
User connections enable/disable config flag ( #209 )
2021-01-06 09:36:48 +05:30
Ravin Perera
c25ebe66f4
Util helper func simplification. ( #203 )
2020-12-23 21:49:13 +05:30
Savinda Senevirathne
e835e18d18
New config file structure. ( #201 )
2020-12-23 18:52:58 +05:30
Chalith Desaman
21482a3f8a
Input nonce expiry based on max ledger sequence no. ( #197 )
2020-12-17 17:19:27 +05:30
Ravin Perera
f2ed9040c0
User protocol upgrade and js client lib. ( #191 )
...
* Unified js client lib for browser and nodejs.
* Client lib multiple connections support.
* Implemented server challenge response.
* Contract guid and version validation.
* Server key validation.
* User json message encoding improvements.
2020-12-11 11:02:58 +05:30
Savinda Senevirathne
f3055822ed
Introduce pubkey/unl tracking to Peer sessions. ( #181 )
...
* Adding pubkey in binary to comm sessions and is_unl flag to peer sessions.
* Removing display_name overloads and populating pubkey in user session.
* Changing peer session lookup key from uniqueid to pubkey (binary).
2020-12-02 13:05:06 +05:30
Ravin Perera
332e5a4750
User input json/bson format improvements. ( #174 )
...
* Removed hex encoding in json input container.
* Refactored client lib exports.
2020-11-28 21:24:35 +05:30
Ravin Perera
4de1bb2393
Already submitted input detection. ( #170 )
...
* Added same nonce/sig for input comparison.
* Added status response withholding for already submitted inputs.
2020-11-26 23:27:40 +05:30
Ravin Perera
29425095e0
User nonce validation and expiration. ( #164 )
2020-11-25 07:10:07 +05:30
Chalith Desaman
459799760b
Added element limits for queue and lists ( #162 )
2020-11-24 13:17:53 +05:30
Ravin Perera
d9517b6164
Reorganized util and hpws source files. ( #161 )
2020-11-23 23:18:42 +05:30
Ravin Perera
9c1f62dbde
Migrated user inputs from domain sockets to memfd. ( #159 )
2020-11-23 21:52:05 +05:30
Savinda Senevirathne
bf710c6bde
Idle connection timeout config for both peer and user connections. ( #158 )
2020-11-20 19:48:45 +05:30
Savinda Senevirathne
fe24ef2388
Introduce peer requirement announcement. ( #156 )
2020-11-20 16:01:46 +05:30
Savinda Senevirathne
9160b2ee15
Improve corebill and graylisting. ( #154 )
2020-11-19 08:40:15 +05:30
Ravin Perera
3ea0299964
Comm session re-architecture and self comm channel. ( #145 )
...
* Introduced self comm channel instead of loopback websocket.
* Introduced comm_session and comm_server inheritance hierarchy.
* Separated peer session and user session classes.
2020-11-08 22:14:08 +05:30
Ravin Perera
ba0cae019d
Refactored consensus into 3 rounds. ( #144 )
...
* Refactored consensus into 3 stages and removed stage 0.
* Consensus threshold calculation improvements.
* Refactored candidate user input processing.
* Renamed proposal sent timestamp field.
* Introduced comm_session display name.
2020-11-07 15:01:01 +05:30
Ravin Perera
7183383ab7
Replace websocketd/websocat with hpws. ( #131 )
2020-10-15 17:02:06 +05:30
Ravin Perera
cb4d0c4f59
Ledger maintenance refactor. ( #130 )
...
* Added ledger namespace.
* Thread-safe lcl access and update.
* Refactored history sync and serving into a thread.
* Restructured ledger cache item.
2020-10-08 22:25:47 +05:30
ravinsp
ef1a650f91
Added TLS on/off flag for user port.
2020-09-24 11:05:42 +05:30
priyadharsun
91122474a1
Replaced Boost log with Plog. ( #124 )
2020-09-23 06:06:42 +05:30
Savinda Senevirathne
38ef3cc1b1
Replacing lock_guard from scoped_lock. ( #120 )
2020-09-18 10:29:34 +05:30
Chalith Desaman
0de20dba28
Parallel read request processing with thread pool. ( #118 )
2020-09-18 09:29:34 +05:30
priyadharsun
9cc5d46792
Outbound message re architecture ( #116 )
...
* Removing const keyword from send function definition in comm_session class.
* Rearchitecture outgoing messages.
* Removed concurrentqueue.h file out of the project.
* Updated ReadMe file.
* Minor comment reformattings.
* Readme update with concurrent queue github link.
* Removed should_stop_messaging_threads variable.
* Updated ReadMe file
* Updated and Changed the formatting of the Blake3 build script in ReadMe.
* Resolved review comment.
Co-authored-by: Savinda Senevirathne <savindadilsara@gmail.com >
2020-09-11 12:26:16 +05:30
Ravin Perera
d2f45daf4c
Implemented multi-threaded inbound network message processing. ( #115 )
...
Used per-session thread to offload messages from network and a single thread for processing collected messages.
2020-09-10 15:40:08 +05:30
ravinsp
3eafef15fa
Fixed incorrect error code in user message.
2020-07-26 21:16:12 +05:30
Ravin Perera
96f23cb0ff
Added bson support for user message protocol. ( #99 )
2020-07-02 21:40:55 +05:30
ravinsp
8103ef7af6
Updated user json message schema.
2020-06-24 12:59:29 +05:30
Ravin Perera
817ccd6a88
Implemented contract read requests. ( #98 )
2020-06-19 21:52:03 +05:30
Ravin Perera
04e230c82e
Improvements in state request/response handling. ( #97 )
2020-06-18 15:07:33 +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
Amila Ariyarathna
7a7dd8698d
Minor typo fixes ( #91 )
2020-04-15 08:01:25 +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
e43cbc9326
User request status messages ( #76 )
2019-12-20 21:14:53 +05:30
Ravin Perera
39031c3157
User control messages. ( #56 )
2019-11-11 15:06:25 +05:30
ravinsp
7815390b25
Implemented basic corebill tracking.
2019-11-08 13:20:34 +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
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
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
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