Commit Graph

43 Commits

Author SHA1 Message Date
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
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
2d5d8960c0 Boost log integration. (#37) 2019-10-20 21:45:59 +05:30
Ravin Perera
0fb9ebf79f Changed base64 to hex encoding. 2019-10-17 00:17:15 +05:30
Ravin Perera
8a22748c8d Implemented sending contract output back to the user. 2019-10-16 19:23:19 +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
db99d94902 vmsplice and other optmizations for user pipes I/O (#28) 2019-10-15 23:26:22 +05:30
Ravin Perera
dac43e857a Optimized user pipes life time. (#26)
Optimized user-contract I/O pipes.
2019-10-14 23:48:15 +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
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
e109e1be47 Improved contract loading validation. 2019-10-04 17:02:17 +05:30
Ravin Perera
8c8793da21 Added user challenge generation and verification. 2019-10-04 15:12:46 +05:30
Ravin Perera
e3c1f85034 Reogranised usr files and updated readme. 2019-10-03 18:21:46 +05:30