Commit Graph

81 Commits

Author SHA1 Message Date
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
ravinsp
a89e7eb6c8 Reorganized p2p context objects. 2019-11-10 08:45:20 +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
ravinsp
32ef41bfdf Integrated ptrace tracking for state files. 2019-11-09 07:38:26 +05:30
ravinsp
7815390b25 Implemented basic corebill tracking. 2019-11-08 13:20:34 +05:30
ravinsp
c5ab13b357 Separated pipe creation and writing. 2019-11-07 22:34:56 +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
Ravin Perera
7b78387cef Switched to specific libsodium crypto funcs. 2019-11-01 15:23:29 +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
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
84f43b7549 Added Docker support. 2019-10-18 23:47:28 +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