Commit Graph

209 Commits

Author SHA1 Message Date
Savinda Senevirathne
9160b2ee15 Improve corebill and graylisting. (#154) 2020-11-19 08:40:15 +05:30
Chalith Desaman
f475dcb1fb Dynamic peer list implementation. (#152) 2020-11-18 12:58:58 +05:30
Ravin Perera
1608e9fc49 Contract execution refactor. (#153) 2020-11-18 07:16:17 +05:30
Ravin Perera
0098c3ddab Revamped NodeJS library examples. (#151) 2020-11-16 17:08:47 +05:30
ravinsp
645f0023a0 Fixed consensus proposal time vote filter. 2020-11-14 17:20:09 +05:30
Savinda Senevirathne
8d5cb670ce Expire inactive sessions. (#150) 2020-11-13 15:28:40 +05:30
Savinda Senevirathne
2e2a11b908 Improved history ledger integrity checks. (#149)
* Code cleanup.

* Resolving review comments.

* Ledger history sync validation improvements and resolving review comments.

* Ledger terminology related changes.

* Ledger related terminology change updates.

* Resolving review comments.
2020-11-13 13:43:01 +05:30
Ravin Perera
e6b74f2c02 Added hpws binary with max msg size fix. (#148) 2020-11-11 10:55:02 +05:30
priyadharsun
8f00c5e7d4 Introduced contract control channel with 'terminate' message (#147) 2020-11-10 14:09:24 +05:30
Chalith Desaman
49e30961bd Node js contract library AsyncCallbackEmitter implementation (#146) 2020-11-09 14:21:43 +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
Savinda Senevirathne
51173e37f2 Support message separation for multiple inputs from same user. (#142) 2020-11-06 10:55:40 +05:30
Ravin Perera
202a6a2715 Ledger and state sync improvements. (#143)
* Increased stage time window.
* Introduced central state tracker.
* Used shared mutex for target state update.
* Refactored lcl and state sync checks in consensus.
* lcl/state sync loop wait time improvements.
2020-11-04 16:01:10 +05:30
Ravin Perera
254e92fc7c Updated hpws binary with fd and zombie cleanup fixes. (#141) 2020-11-04 06:29:35 +05:30
Savinda Senevirathne
7a4515865d Replaced contract I/O pipes with domain sockets. (#140) 2020-11-02 16:50:21 +05:30
Ravin Perera
37cc27c5ce Improved debug logging for state sync. (#139)
* Added random peer send pubkey extraction.
* Improved debug logs in state serve and state sync.
2020-10-27 16:03:34 +05:30
ravinsp
3481961aa8 Fixed incorrect hpfs process kill on read-request. 2020-10-27 15:52:26 +05:30
Ravin Perera
116a54e980 Fixed ledger read fd leak. Reordered subsystem init. (#138) 2020-10-26 08:11:55 +05:30
Ravin Perera
a60444b57f Updated hpfs binary for fd leak and race condition fix. (#137) 2020-10-25 21:34:47 +05:30
Ravin Perera
00069b7a43 Updated ledger creation to report current lcl. (#136) 2020-10-24 07:22:28 +05:30
ravinsp
86fba4e87a Updated hpws binary to fix multi-threaded read/write. 2020-10-24 06:54:36 +05:30
Savinda Senevirathne
fabfdcce89 Weakly connected status announcement. (#135)
* Forward others' messages only to the weakly connected nodes instead of broadcasting to all the connected peers.
* Announcing connected status depends on a threshold to other connected peers.
* Forwarding messages of weakly connected peers to other peers.
2020-10-23 16:57:01 +05:30
ravinsp
5c4edfafb9 Updated hpfs binary due to file rename issue. 2020-10-23 15:21:22 +05:30
Ravin Perera
7a4e91b0dd Integrated hpfs in-proc sessions. (#134) 2020-10-23 10:04:45 +05:30
Savinda Senevirathne
4f6ff4fbef Peer message forwarding. (#133) 2020-10-19 10:44:31 +05:30
Ravin Perera
7183383ab7 Replace websocketd/websocat with hpws. (#131) 2020-10-15 17:02:06 +05:30
Chalith Desaman
5f40aebf08 NPL message refactor. (#132)
* Implemented feeding and broadcasting npl messages from the contract execution in real-time.
* Replaced npl pipe with domain sockets.
* Refactored npl read and write in nodejs echo contract
2020-10-14 15:18:00 +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
31048f55b8 Fixed contract output fetcher thread join issue. 2020-10-06 17:00:38 +05:30
Ravin Perera
54d6bf5bf6 Improved vm scripts. (#129)
* Added node-or-cluster mode.
* Added json based cluster config.
* Restructured new, update, reconfig modes.
* Added screen logging mode.
2020-10-03 21:38:43 +05:30
ravinsp
1245da52b2 Fixed configuration logic issues. 2020-09-26 23:12:55 +05:30
ravinsp
c41e0d2e72 Added latest hpfs binary. 2020-09-26 22:11:53 +05:30
ravinsp
6599fa32ca Fixed compiler warnings on return values and null args. 2020-09-26 21:58:22 +05:30
Ravin Perera
4d920a9219 Fixed child process signal behaviours. (#128)
* Restored signal handlers upon fork().
* Improved error handling of hpfs process kill scenario.
* Set pgid for forked processes for graceful sending of SIGINT.
2020-09-26 21:39:26 +05:30
ravinsp
05f356f6e0 Fixed log line severity indicator issue. 2020-09-26 21:33:15 +05:30
ravinsp
3f2e066424 Fixed string split issue with non-delimited strings. 2020-09-26 21:31:28 +05:30
Ravin Perera
4df0918f8e Boost reference removal and dev setup script. (#127)
* Removed unneeded boost library links.
* Replaced boost string split with util function.
* Added dev setup script.
* Updated readme.
2020-09-26 18:20:07 +05:30
ravinsp
ef1a650f91 Added TLS on/off flag for user port. 2020-09-24 11:05:42 +05:30
Ravin Perera
5bfa722b24 Converted forked process logging to use stdout. (#126)
Forked processes are now logging to stdout to avoid race conditions with hpcore log file.
2020-09-24 10:40:17 +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
Savinda Senevirathne
37629471c5 Refactored consensus to run on a separate thread. (#123) 2020-09-18 15:53:15 +05:30
Ravin Perera
180b1ec714 Marked fds to close on exec. (#122) 2020-09-18 11:40:03 +05:30
Ravin Perera
f622a252e6 Improved return codes of hpfs hash access interface. (#121) 2020-09-18 10:36:46 +05:30
Savinda Senevirathne
38ef3cc1b1 Replacing lock_guard from scoped_lock. (#120) 2020-09-18 10:29:34 +05:30
ravinsp
a5ef8df83e VM scripts parallel lcl retrieval. 2020-09-18 10:12:56 +05:30
Chalith Desaman
0de20dba28 Parallel read request processing with thread pool. (#118) 2020-09-18 09:29:34 +05:30
Ravin Perera
93f57efbe3 Added release build support. (#119)
* Cleaned up and updated cmake to have release build support.
* Added segfault handler.
* Added latest hpfs release build.
* Fixed coding issues revealed by release build.
2020-09-16 17:51:54 +05:30
Ravin Perera
64efc53cef Added latest hpfs binary and integrated hpfs logging. (#117) 2020-09-15 21:55:13 +05:30