705228ecc2
Remove redundant signs
2018-04-11 22:17:21 -06:00
740f6d2258
Merge pull request #122 from garious/fix-ci
...
Fix the nightly build
2018-04-11 20:56:58 -06:00
3b9ef5ccab
Fix the nightly build
2018-04-11 20:24:14 -06:00
ab74e7f24f
Merge pull request #117 from garious/parallelize-accountant
...
Enable parallelized accountant
2018-04-11 19:39:45 -06:00
be9a670fb7
Add process_packets() benchmark
2018-04-11 18:02:45 -06:00
6e43e7a146
Enable parallelized accountant
2018-04-11 18:01:59 -06:00
ab2093926a
Merge pull request #120 from aeyakovenko/fix_bench_compile
...
fix compile error
2018-04-11 18:01:13 -06:00
916b90f415
Merge pull request #118 from sakridge/ecdsa_tests
...
Add tests for ecdsa sig checking
2018-04-11 17:58:45 -06:00
2ef3db9fab
fix compile error
2018-04-11 15:40:25 -07:00
6987b6fd58
Add tests for ecdsa sig checking
2018-04-11 12:29:44 -07:00
078179e9b8
Merge pull request #115 from garious/parallelize-accountant
...
More refactoring
2018-04-11 10:28:15 -06:00
50ccecdff5
Refactor
2018-04-11 09:02:33 -06:00
e838a8c28a
Delete unused function
2018-04-10 21:56:13 -06:00
e5f7eeedbf
Use iterators
2018-04-10 21:48:26 -06:00
d1948b5a00
Zip earlier
...
And remove redundant into_iter() calls.
2018-04-10 21:18:39 -06:00
c07f700c53
Merge pull request #113 from aeyakovenko/master_pclient
...
command-line options for testnode and client
2018-04-09 23:07:03 -06:00
c934a30f66
commandline options for client and testnode
2018-04-09 21:14:52 -07:00
310d01d8a2
Merge pull request #112 from aeyakovenko/recycler_test
...
Recycler test should verifyt that its recycling
2018-04-07 09:29:50 -06:00
f330739bc7
Recycler test should verifyt that its recycling
2018-04-07 07:08:42 -07:00
58626721ad
Merge pull request #111 from garious/parallelize-accountant
...
Cleanup
2018-04-06 17:03:10 -06:00
584c8c07b8
Better symmetry
...
deserialize -> process -> serialize
2018-04-06 16:34:59 -06:00
a93ec03d2c
Move creating blobs into its own function
2018-04-06 16:22:02 -06:00
7bd3a8e004
Reduce cyclomatic complexity
2018-04-06 16:12:13 -06:00
912a5f951e
Why is msgs cloned here?
2018-04-06 15:58:11 -06:00
6869089111
Parallelize deserialize
2018-04-06 15:52:58 -06:00
6fd32fe850
Cleanup constants
2018-04-06 15:43:05 -06:00
81e2b36d38
Cleanup packet_verify
2018-04-06 15:24:15 -06:00
7d811afab1
Parallelize CPU sig verify
2018-04-06 15:21:49 -06:00
39f5aaab8b
Merge pull request #110 from garious/parallelize-accountant
...
Parallel processing of arbitrary transactions
2018-04-06 09:02:36 -06:00
5fc81dd6c8
Fix the nightly build
...
Nightly uses a different (but backward compatible) version of rustfmt.
2018-04-05 22:39:29 -06:00
491a530d90
Support parallelization of arbitrary transactions
...
Still assumes witnesses are processed serially afterward.
2018-04-05 22:30:25 -06:00
c12da50f9b
Fix race condition
...
Without this patch, it was possible for two transactions with the same
'from' address to drive its balance below zero. With the patch, we'll
hold a write lock from just before we verify sufficient funds until
after those funds are deducted from the account.
2018-04-05 22:30:25 -06:00
41e8500fc5
Break up process_verified_transaction()
2018-04-05 22:29:13 -06:00
a7f59ef3c1
Merge pull request #109 from sakridge/wip_gpu
...
Change for cuda verify integration
2018-04-05 22:24:35 -06:00
f4466c8c0a
Change for cuda verify integration
2018-04-05 20:00:44 -07:00
bc6d6b20fa
Merge pull request #108 from garious/parallelize-accountant
...
Reject old transactions so that we can boot old signatures
2018-04-05 15:11:22 -06:00
01326936e6
Expire all transactions after some amount of time
...
Reject old transactions so that we can calculate an upper bound
for memory usage, and therefore ensure the server won't slow
down over time to crash due to memory exhaustion.
2018-04-05 10:26:45 -06:00
c960e8d351
Reject transactions with a last_id
that isn't from this ledger
...
Before this patch, a client could put any value into `last_id` and
was primarily there to ensure the transaction had a globally unique
signature. With this patch, the server can use `last_id` as an
indicator of how long its been since the transaction was created.
The server may choose to reject sufficiently old transactions so
that it can forget about old signatures.
2018-04-05 09:54:03 -06:00
fc69d31914
Merge pull request #106 from garious/parallelize-accountant
...
Parallelize accountant
2018-04-04 22:42:28 -06:00
8d425e127b
Update benchmark to avoid write locks in sig duplicate detection
2018-04-04 17:29:22 -06:00
3cfb07ea38
Sort signatures by last_id
...
This will allow for additional concurrency as well as give the server
a means of garbage-collecting old signatures.
2018-04-04 17:06:31 -06:00
76679ffb92
Per-cell locking
...
This allows us to use read-locks for balances most of the time. We
only lock the full table if we need to add one.
2018-04-04 16:31:13 -06:00
dc2ec925d7
Better test
2018-04-04 16:01:43 -06:00
81d6ba3ec5
Merge pull request #105 from garious/coverage-comments
...
Add the 'why' for code coverage to readme
2018-04-04 14:34:26 -07:00
014bdaa355
Add benchmark for parallel transaction processing
2018-04-04 12:43:27 -06:00
0c60fdd2ce
Make accountant thread-safe
...
Before this change, parallel transaction processing required locking
the full accountant. Since we only call one method,
process_verified_transaction, the global lock equates to doing no
parallelization at all. With this change, we only lock the data that's
being written to.
2018-04-04 12:33:03 -06:00
43d986d14e
Add the 'why' for code coverage to readme
2018-04-04 09:26:38 -06:00
123d7c6a37
Merge pull request #99 from aeyakovenko/subscribers
...
Blobs and windows
2018-04-03 17:12:53 -06:00
5ac7df17f9
Implement window service
...
Batch out of order blobs until we have a contigious window.
2018-04-03 13:53:19 -07:00
bc0dde696a
Merge pull request #102 from garious/rollback
...
Fix clippy warnings
2018-04-03 10:08:42 -06:00