Ravin Perera
948113398c
Ledger query infrastructure. ( #275 )
...
* Added json ledger query param parser.
* Added initial query response creation.
* Updated client lib.
* Implemented get ledger by seq no.
* Added ledger query execution wrappers.
* Included log record info.
* Fixed empty output hash issue.
* Added bson support.
* Added db file existance check.
* Added requesy/reply tracking for queries in client lib.
* Improved multi connection usage in client lib.
* Added genesis ledger query support.
* Updated naming convention of query result fields.
* Comments.
* Used sqlite bind() for query param.
* Used binary hashes in ledger sqlite db.
* Missing const.
2021-03-29 11:20:15 +05:30
Savinda Senevirathne
16c5b3fae2
Introducing ledger shards and new ledger syncing logic. ( #247 )
...
- The ledgers are stored in a sqlite database in ledger file system.
- Ledgers are organized in shards inside primary folder.
- Raw inputs are saved as shards inside blob folder. No input files are created if neither inputs nor outputs are available.
- Both last primary shard hash and last blob shard hashes are subjected to consensus and necessary sync operations are performed if out of sync.
- Hpfs sync support setting single sync targets from both ends of the list. (Targets set from front are prioritized).
- Contract and ledger syncs and serving are performed independently.
2021-02-18 11:24:05 +05:30
Ravin Perera
4c4e109233
Contract process resource limits. ( #243 )
2021-02-15 16:36:10 +05:30
Ravin Perera
9bca6700ae
Contract stdout/err logging. ( #233 )
2021-02-02 20:58:39 +05:30
Savinda Senevirathne
d08d2630f6
Refactoring hpfs, hpfs sync and hpfs serve code. ( #231 )
...
* Refactoring hpfs code to a class so it can support multiple mounts.
* Refactoring hpfs serve into a class to support mulitiple mount serving.
* Refactoring hpfs sync into class to support multiple instances.
* Code improvements in hpfs_sync.
* Taking a sync target list for hpfs syncing target set.
2021-02-02 13:17:21 +05:30
adheeb-adb
62c91ad90c
sqlite wrapper for ledger database. ( #228 )
...
Added wrapper methods to create ledger table and insert records for sqlite database.
2021-01-29 18:06:31 +05:30
Chalith Desaman
0914994772
Replaced ifstreams with file read inside the config and patch config read. ( #220 )
2021-01-15 11:50:26 +05:30
Ravin Perera
9c1f62dbde
Migrated user inputs from domain sockets to memfd. ( #159 )
2020-11-23 21:52:05 +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
254e92fc7c
Updated hpws binary with fd and zombie cleanup fixes. ( #141 )
2020-11-04 06:29:35 +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
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
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
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
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
ravinsp
3c231727e5
Cleaned up unused includes.
2020-09-11 06:42:04 +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
Savinda Senevirathne
2fc93d4291
Migrating json parsing from rapidjson to jsoncons. ( #112 )
...
* Migrating JSON parsing from RapidJSNO library to jsoncons library
* updating readme file and removing RapidJSON headers
2020-08-31 14:05:42 +05:30
Savinda Senevirathne
648b70892c
Blake2 to Blake3 hash migration ( #111 )
...
* hash call update from blake2b to blake3
* including installation steps for blake3 in readme
2020-08-21 15:50:39 +05:30
Ravin Perera
96f23cb0ff
Added bson support for user message protocol. ( #99 )
2020-07-02 21:40:55 +05:30
Ravin Perera
b89dbe0a2c
Rearchitected state sync with hpfs. ( #96 )
2020-06-10 20:51:45 +05:30
Ravin Perera
10374352c6
hpfs integration. ( #94 )
2020-06-04 13:51:53 +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
Ravidu Lashan
1972085b33
Changed boost error handling ( #74 )
2019-12-19 19:50:18 +05:30
ravinsp
fc108523ca
Added stack trace logging for exceptions.
2019-12-15 23:28:49 +05:30
Ravidu Lashan
1238e96423
State synchronization logic ( #67 )
...
* Added flat buffer state message request
* Added state vote
* Added state to ledger history and did necessary changes
* Completed receiveing state request
* State read/write helpers.
* Added new fbs schema
* Added more state_store helper methods.
* Started processing response
* Fixed compile errors
* Added get file length.
* Handled state content response
* Statefs code cleanup and fixes.
* Completed response handling
* Completed changes in handling state response
* State sync integration fixes.
* Fuse mount waiting logic.
* Fixed state syncing issues
* state sync fixes
* fixes
* State sync fixes.
* Fixed fs entries retrieval issues.
* changed desync logic
* Added directory helper functions.
* Handled return statemetns from statefs
* Fixed state folder deletion.
* handled errors from statefs
* Working for small files
* Got state sync working.
* Removed cout.
* Fixed catering for stae issue
* Fixed block hash map flatbuf issue.
* Added expected hash
* Added helpers for expected hash comparison.
* Improved state req/resp awaiting logic.
* Fixes.
* Fixes.
* Block request ordering fix.
* Removed couts
* Closed non-closed file descriptors
* Minor fixes.
* Cluster create script changes.
* Fixed reset time off issue.
2019-12-13 10:20:41 +05:30
ravinsp
32ef41bfdf
Integrated ptrace tracking for state files.
2019-11-09 07:38:26 +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