Commit Graph

60 Commits

Author SHA1 Message Date
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
172d41d191 Added release scripts. 2019-10-17 19:31:44 +05:30
Ravin Perera
fb236d44be Implemented hp-sc comm channel. (#32) 2019-10-17 16:06:35 +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
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
Ravidu Lashan
9ec9c9575d Refactored socket send method and message recieved method (#25)
* Enhanced sockets

* Removed unnecessary copy operations

* Enhanced sock session send method to recieve rref

* Enhanced on_read with rvalue reference

* Added string_view

* Added comments
2019-10-14 18:26:34 +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
b2d4c93b9d Added new events to socket (#18)
* Added on_close event and enhanced socket methods
* Removed unnecessary copy operations
2019-10-11 12:45:49 +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
Ravidu Lashan
11489de7a1 Fixed issue in node client closing the connection (#16)
* Fixed timeout issue of client

* Fixed issue in node client

* Removed unused files
2019-10-10 13:08:46 +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
asanka-indrajith
1d7dd062e4 Merged latest from master. 2019-10-09 09:02:30 -04:00
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
Ravidu Lashan
ab06c272d3 Websocket initial implementation (#9)
* Added listener and session classes.

* Added client session class.

* Fixed minor code issues.

* Initial server implementation p2p connection

* Added a seperate thread to run the two servers

* Implemented basic web socket architecture

* Implemented basic peer to peer socket network

* Added a sample message

* Initial socket architecture completed

* Improved code readability

* Improved comments
2019-10-09 14:31:20 +05:30
asanka-indrajith
8eed642277 Add comments to protobuf helper methods and add protobuf to cmakelist. 2019-10-09 03:09:55 -04:00
asanka-indrajith
36f68737b1 Merged latest from master. 2019-10-09 00:58:45 -04:00
asanka-indrajith
91319abc2d Protobuf helper methods and fixed makefile issue. 2019-10-07 23:18:36 -04:00
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
8c8793da21 Added user challenge generation and verification. 2019-10-04 15:12:46 +05:30
asanka-indrajith
75434d4991 Implemented protobuf infastructure and definitions for proposal and npl messages. 2019-10-04 03:56:53 -04:00
Ravin Perera
e3c1f85034 Reogranised usr files and updated readme. 2019-10-03 18:21:46 +05:30