Commit graph

820 commits

Author SHA1 Message Date
Michael Vandeberg
013fbfb6a7 Remove logging on successful thread creation 2016-10-21 14:06:22 -04:00
theoreticalbts
962a816d17 variant.cpp: Fix bug in FC_ASSERT() 2016-10-19 09:47:11 -04:00
Daniel Larimer
6bd5a6c73b Merge branch 'master' of https://github.com/steemit/fc 2016-10-10 17:16:59 -04:00
Daniel Larimer
0ace4298c5 adding interprocess lock 2016-10-10 17:16:57 -04:00
theoreticalbts
636d4530e3 sha256: Add method to return approx log as double 2016-10-04 14:19:59 -04:00
theoreticalbts
585cea9472 sha256: Add inverse log and testing 2016-10-04 14:19:59 -04:00
Daniel Larimer
d352463e82 fix warnings generated by latest clang 2016-10-03 12:03:34 -04:00
Daniel Larimer
e7d0d26fe2 adding fixed_string definition 2016-09-15 15:29:16 -04:00
theoreticalbts
19d41b8606 Do not emit \a escape sequence 2016-09-02 10:36:11 -04:00
theoreticalbts
a7376ceba2 tcp_socket.cpp: More verbose error message 2016-08-16 14:51:50 -04:00
theoreticalbts
f3e69d81a9 sha256: Implement and test clz(), approx_log_32() 2016-08-11 12:10:14 -04:00
Daniel Larimer
e8e26838cc first step toward binary RPC 2016-07-30 18:41:03 -04:00
theoreticalbts
c672e3b4b4 json.cpp: Add missing cases for control character escape sequences 2016-07-21 13:33:36 -04:00
Daniel Larimer
e5ffc620ba updating fc to support more threads 2016-07-18 21:20:40 -04:00
Daniel Larimer
c109dbecf3 improve performince of fc::uin128 divide 2016-06-27 16:22:14 -04:00
Daniel Larimer
2bc237537c updating websocket and adding new utf8 code 2016-05-24 19:24:03 -04:00
arhag
66d4b0841d Changes to fc to get MinGW cross-compilation working 2016-05-22 01:33:19 -04:00
theoreticalbts
44ede99409 websocket.cpp: Allow specifying CA root in websocket_client constructor 2016-05-18 21:14:25 -04:00
theoreticalbts
56e36bed8f Revert "Update the websocketpp library and change the configuration options we pass"
This reverts commit d5370fc2ea.
2016-04-19 22:58:39 -04:00
theoreticalbts
1f02c6790f Revert "Add an option to the websocket server constructor to allow disabling deflate"
This reverts commit 21045dde5f.
2016-04-19 22:58:37 -04:00
Daniel Larimer
b34e8584ae Merge branch 'master' of https://github.com/steemit/fc 2016-04-08 14:18:47 -04:00
Daniel Larimer
09975ce12b adding IP address to http request handler 2016-04-08 14:18:42 -04:00
theoreticalbts
5c1bb56177 Implement modular API support
- Create class `api_base` to be base class of `api<T>`, and `typedef shared_ptr<api_base> api_ptr`
- Create function `api_base::as<T>()` to allow simple downcast to `api<T>`
- Create class `any_api` to contain an API which has been returned from the remote end, but not yet cast with `as<T>`
- `to_generic()` override allowing remote API to return `api_ptr`, thus we need not know the type of the returned API at compile time
- Allow API's to be referenced by name, if we call with a string API name in the JSON the framework calls get_api_by_name on API 1 to determine the API ID
2016-04-04 00:50:56 -04:00
Daniel Larimer
a421e28048 change json seralization of map<string,T> to be object rather than array of pairs 2016-03-17 17:24:25 -04:00
Daniel Larimer
0dca15c395 Merge branch 'master' of https://github.com/cryptonomex/fc 2016-03-11 12:33:41 -05:00
Daniel Larimer
eaa763aff1 adding canonical flag 2016-03-11 12:33:33 -05:00
Eric Frias
21045dde5f Add an option to the websocket server constructor to allow disabling deflate
compression.  Refactored the code to remove duplication between tls/non-tls
versions of the server, which appear to have been cut & paste copies of
one another that had diverged slightly.  This makes some of the fixes to
the non-tls server available in the tls server.
cryptonomex/graphene#619
2016-03-10 17:22:28 -05:00
Eric Frias
d5370fc2ea Update the websocketpp library and change the configuration options we pass
when creating the websocket servers to enable deflate compression on
websocket frames.  This is relevant to cryptonomex/graphene#540 because
the spammed data is higly compressible.  In my tests, it reduces bandwidth
for a single idle node by a factor of ~16, from 577kbps down to 36kbps.
This doesn't require any changes to the wallets, simply upgrading the
public servers will begin sending compressed data to all clients that
support it.
Note: this commit adds a dependency on zlib for non-apple platforms
(it was already required on apple)
2016-03-03 16:53:43 -05:00
theoreticalbts
83b4de067a future.cpp: Fix use-after-free bug cryptonomex/graphene#597 2016-02-25 03:04:45 -05:00
Daniel Larimer
e5ca765f15 clean up logging 2016-02-15 11:59:28 -05:00
Eric Frias
6ed7717826 Handle http requests to the websocket server async, in a similar manner to the way regular websocket messages were handled since 01445529f0. Fixes cryptonomex/graphene#251, and likely eliminates the need for the workaround used to fix cryptonomex/graphene#1 and cryptonomex/graphene#252 2016-02-10 15:25:54 -05:00
Daniel Larimer
7840ef16e9 adding rshift 2016-02-04 16:32:13 -05:00
theoreticalbts
46ed830373 variant.cpp: Tighten bool parsing in variant::as_bool() cryptonomex/graphene#525 2016-01-21 15:30:51 -05:00
Michael Vandeberg
d74eee8110 Implements deserialize for extended_public_key and extended_private_key.
Implementation needed by cryptonomex/graphene#500
2016-01-07 17:14:16 -05:00
Daniel Larimer
6495004302 move potential yields outside of catch 2015-10-09 17:08:03 -04:00
Eric Frias
2b2dfc62fc Win32 compile fixes (replace nonstandard runtime-sized auto arrays with alloca) 2015-10-05 12:09:35 -04:00
Daniel Larimer
dacdb997f8 Merge branch 'master' of https://github.com/cryptonomex/fc 2015-10-05 08:44:31 -04:00
Daniel Larimer
6872112ab0 adding extra checks for yielding while processing a catch 2015-10-05 08:44:24 -04:00
Daniel Larimer
7e32df4978 Merge pull request #46 from pmconrad/blinding
Blinding a la Oleg Andreev
2015-10-01 09:55:28 -04:00
Eric Frias
9933f57dda In asio worker threads, catch and ignore exceptions thrown by asio
handlers.  websocketspp code leaks boost exceptions from its handlers
which would otherwise terminate the program
2015-09-25 19:24:48 -04:00
Daniel Larimer
83a9e4d7c8 Update NTP performance requirments
NTP server must ACK within 300ms or time will not be set.
Removed extra printing
2015-09-23 16:22:11 -04:00
Daniel Larimer
d19f67d94f prevent yielding from catch block 2015-09-14 11:14:52 -04:00
Daniel Larimer
19e42ac4c4 fix potential crash in websocket 2015-09-07 17:46:08 -04:00
Daniel Larimer
08944de151 updating logs to append 2015-09-07 11:15:48 -04:00
theoreticalbts
80d967a70d variant_object: Implement operator() overload to copy a variant_object 2015-08-28 22:14:27 -04:00
Eric Frias
71be796af5 Remove extraneous spaces in relative time printing 2015-08-24 09:34:18 -04:00
Eric Frias
18ed468c6f Win32 compile fix (allocate buffer on heap instead of stack, probably a good
idea anyway given fc task stack sizes)
2015-08-17 12:38:54 -04:00
Nathan Hourt
9c868b3927 Fix crash on exit 2015-08-14 14:31:09 -04:00
theoreticalbts
c16bb206a3 fstream: Implement read_file_contents 2015-08-06 14:47:15 -04:00
Peter Conrad
e3fc463efc Initialize openssl properly, use ssl wrapper types instead of ..._free, unify DH_check 2015-07-30 17:43:43 +02:00
Peter Conrad
5377b45d97 Fixed signedness, simplified word-shift 2015-07-30 14:58:35 +02:00
Peter Conrad
d67c18f6c3 Fixed shift in hashes + more tests 2015-07-29 23:22:34 +02:00
Peter Conrad
ef92e68146 Created + added test vectors, various fixes - working! 2015-07-29 21:00:08 +02:00
Peter Conrad
622de81402 Added tests, fixes (sig format, canonicalization) 2015-07-29 21:00:08 +02:00
Peter Conrad
56e98e136a Initial blinding implementation, untested 2015-07-29 21:00:08 +02:00
Peter Conrad
5ecdcba4b6 Some refactoring 2015-07-29 21:00:08 +02:00
Peter Conrad
0f67ca751e Implemented extended keys 2015-07-29 20:59:32 +02:00
Vikram Rajkumar
088dadd124 Merge pull request #47 from pmconrad/testing
Testing
2015-07-29 13:29:22 -04:00
theoreticalbts
d11b48a015 exception.hpp: Implement exception constructors for const log_messages& 2015-07-28 17:01:59 -04:00
Peter Conrad
0878e7f8f8 Tested + fixed more cases 2015-07-27 22:22:20 +02:00
Peter Conrad
fe0ec4a42d Added FC_ASSERT to prevent buffer overflow 2015-07-27 21:23:15 +02:00
Peter Conrad
0e681dfb1c Added tests for base_n encodings, fixed base32 + base36 2015-07-27 21:23:15 +02:00
Eric Frias
a31f0f503d Fix compile error when readline not available 2015-07-27 12:08:28 -04:00
Daniel Larimer
e9eeb3300c adding tab completion to CLI 2015-07-27 09:11:20 -04:00
Daniel Larimer
d79855b491 Websocket shouldn't cleanup default_io_service, that should only happen ONE time when main exits. 2015-07-24 08:32:38 -04:00
Daniel Larimer
d76a15ec89 adding child key derivation for ecc keys 2015-07-23 18:45:35 -04:00
Nathan Hourt
17b64bb38f Resolve cryptonomex/graphene/issues/146 2015-07-22 12:11:04 -04:00
theoreticalbts
5f43c06bae uint128: Implement popcount() 2015-07-13 17:01:11 -04:00
Vikram Rajkumar
0391665471 Fix and cleanup safe spec; cryptonomex/graphene#10 2015-07-13 14:28:44 -04:00
theoreticalbts
787e4abf3f exception.hpp: Allow enable/disable assert trip notifications with only one dirty file 2015-07-07 21:50:26 -04:00
Scott Howard
153d3f0433
Fix cryptonomex/graphene#107: Define char as signed when comparing against EOF 2015-07-05 15:44:32 -04:00
Eric Frias
d462be0e92 Quiet harmless compiler warnings 2015-07-01 11:21:15 -04:00
theoreticalbts
7bd47af88e rpc: Move many method implementations from headers to cpp files 2015-06-30 15:54:29 -04:00
Vikram Rajkumar
701b9ac00c Remove problematic easylzma 2015-06-23 16:19:36 -04:00
Vikram Rajkumar
943fe5150e Remove unused salsa20
See https://github.com/bitshares/bitshares/issues/1089
2015-06-23 15:43:36 -04:00
Vikram Rajkumar
43f3aff577 Remove unused scrypt-jane
See https://github.com/bitshares/bitshares/issues/1016
2015-06-23 15:34:28 -04:00
Peter Conrad
8ff0f3e764 Dont ignore EOF because users cannot distinguish EOF and empty input line 2015-06-21 15:33:50 +02:00
Vikram Rajkumar
c09035dba0 Merge pull request #41 from emfrias/json_parser_mods
Json parser mods
2015-06-15 15:30:35 -04:00
Eric Frias
10e747409c Fix FC win32 compiling (secp256k1 related errors) 2015-06-15 14:38:33 -04:00
Eric Frias
c2451f30f1 Add a new mode to the variant->json generator to restore the normal
behavior of writing numbers out as numbers instead of strings
2015-06-12 11:05:58 -04:00
Eric Frias
e5a5323642 When formatting doubles as strings, use 17 digits of precision to ensure they are read back in without loss (up from 12 digits).
Add a mode to the JSON parser to parse all real numbers into strings, so we can later parse them into doubles or another fixed/floating point format to preserve as much precision as needed
2015-06-12 11:05:52 -04:00
Daniel Larimer
8087aa66d0 removing AGPL code 2015-06-11 09:10:12 -04:00
Daniel Larimer
a824aa04a9 Mapping blinding crypto to fc ecc api 2015-06-10 18:34:19 -04:00
Daniel Larimer
01445529f0 handle messages async 2015-05-29 12:11:21 -04:00
Nathan Hourt
83d5bcb147 Mark websockets as logging to rpc 2015-05-27 15:04:34 -04:00
Nathan Hourt
8012ab4705 Fix crash on exit with websocket_client 2015-05-27 14:54:11 -04:00
Eric Frias
043ead5579 Fix compile with microsoft c++ which still doesn't support noexcept 2015-05-22 16:15:00 -04:00
Daniel Larimer
ccd14c7260 Merge pull request #4 from pmconrad/libsecp256k1
fc::ecc implementations based on libsecp256k1
2015-05-20 10:30:05 -04:00
Daniel Larimer
71cca4559c adding quotes around large integers 2015-05-18 15:05:25 -04:00
Daniel Larimer
a3c284408e make CLI prompt configurable 2015-05-18 13:40:01 -04:00
Daniel Larimer
135949ee19 large integers are converted to strings in JSON printing 2015-05-15 15:58:47 -04:00
Daniel Larimer
9ef91e2245 partial fixes to crashing on websocket client close 2015-05-12 17:15:00 -04:00
Daniel Larimer
c28ed38f1a adding support for secure websocket client 2015-05-12 16:16:10 -04:00
Daniel Larimer
fb62b6421c adding ssl support to websocket 2015-05-12 14:50:08 -04:00
Daniel Larimer
812b42dbe6 adding default 2015-05-12 12:59:14 -04:00
Daniel Larimer
4f0919c493 adding sanity checks to string->json parsing 2015-05-12 12:58:47 -04:00
Peter Conrad
d9f6b7a526 Rebase + upgrade to latest libsecp256k1 API 2015-05-07 15:59:21 +02:00
Peter Conrad
a164a55c86 Fixed move constructor + assignment 2015-05-07 14:51:03 +02:00
Peter Conrad
5782fd42af Added missing constructors + pubkey::valid 2015-05-07 14:51:03 +02:00
Peter Conrad
05dee8669f Much refactoring
Fixed Move semantics in openssl impl
Use in-place construction for secp256k1
Swapped implementations in mixed - sign with libsecp256k1, verify with openssl
2015-05-07 14:51:03 +02:00
Peter Conrad
10897adf1e Hopefully this is more thread-safe 2015-05-07 14:51:03 +02:00
Peter Conrad
d69e67c032 Work around too deterministic nonce 2015-05-07 14:51:03 +02:00
Peter Conrad
1de9a3ba87 Bugfix 2015-05-07 14:51:03 +02:00
Peter Conrad
abab7617c8 Minor fixes 2015-05-07 14:51:02 +02:00
Peter Conrad
2f383f078f More refactoring 2015-05-07 14:51:02 +02:00
Peter Conrad
bab3864437 Added mixed implementation, fixed interop test script 2015-05-07 14:51:02 +02:00
Peter Conrad
55f9cf5e16 Added mixed implementation, fixed interop test script 2015-05-07 14:51:02 +02:00
Peter Conrad
414617d8e3 Refactoring, step 2 2015-05-07 14:51:02 +02:00
Peter Conrad
55c5773a46 Started refactoring 2015-05-07 14:51:02 +02:00
Peter Conrad
7b15098f3a Woot! 2015-05-07 14:49:52 +02:00
Peter Conrad
34af5d98ec Intermediate version 2015-05-07 14:49:52 +02:00
Peter Conrad
f17444d90b Added ECC_IMPL switch + interop test 2015-05-07 14:48:00 +02:00
Peter Conrad
8bcaa01541 Mark internal helper functions as static 2015-05-07 14:48:00 +02:00
Daniel Larimer
4df08d8efe fix crash in websocket 2015-05-06 16:34:55 -04:00
Daniel Larimer
3599850bb9 Merge commit '72288a2' 2015-05-04 14:07:51 -04:00
Daniel Larimer
72288a25b1 making sure getline doesn't blog 2015-05-04 14:07:22 -04:00
Eric Frias
e9824e1740 Add missing include for isatty on win32 2015-05-04 13:36:15 -04:00
theoreticalbts
80de0987d7 Add readline support to fc::rpc::cli 2015-04-29 16:37:54 -04:00
Daniel Larimer
c8200afade better close notification and error handling 2015-04-01 10:25:57 -04:00
Daniel Larimer
8b5e2e7613 adding helper to get a list of variants from a string 2015-03-31 18:46:05 -04:00
Daniel Larimer
55ee57040a added support for unhandled extension and mapping the first registered API to global namespace 2015-03-31 17:45:01 -04:00
Daniel Larimer
1fb31737a7 RPC now supports remote callbacks
to_variant now skips null optional members on reflected objects.
2015-03-31 11:31:56 -04:00
Daniel Larimer
e506e4f4be added listen on a specific endpoint/port pair 2015-03-30 16:56:28 -04:00
Daniel Larimer
74b707999c fix bugs with websocket and integrate API support 2015-03-27 16:29:33 -04:00
Daniel Larimer
b8d7d3012d abstracting rpc state 2015-03-26 18:17:47 -04:00
Daniel Larimer
41fedc14f3 Merge branch 'master' of github.com:BitShares/fc 2015-03-26 16:51:15 -04:00
Daniel Larimer
4ce26f068f implement simple websocket wrapper ontop of websocketpp 2015-03-26 16:51:10 -04:00
Vikram Rajkumar
3d17836a1e Remove extraneous log config setting 2015-03-25 20:07:19 -04:00
Nathan Hourt
4194a609c2 Allow hashing of uint128 2015-03-06 16:41:52 -05:00
Daniel Larimer
73c2c1de90 fix static_variant to/from variant 2015-03-05 09:54:33 -05:00
Daniel Larimer
374f141f0a Merge branch 'master' of github.com:BitShares/fc 2015-02-23 14:02:06 -05:00
Daniel Larimer
537029f09f fix build 2015-02-23 14:01:58 -05:00
Vikram Rajkumar
c3bc573af7 Fix Mac build 2015-02-23 11:08:55 -05:00
SynaptiCAD User
42fcebd473 Remove unnecessary locking around log sending 2015-02-22 14:07:27 -05:00
SynaptiCAD User
30e52b6b01 Fix GELF logging to split long messages, use compression 2015-02-22 14:07:05 -05:00
Daniel Larimer
ec66863902 added type for safe int ops 2015-02-19 11:39:17 -05:00
Daniel Larimer
cf4ed08d4b Merge branch 'master' of github.com:BitShares/fc 2015-02-17 09:55:36 -05:00
Daniel Larimer
93a789891e Adding is_utf8 call and making enum_type cast explicit 2015-02-17 09:55:31 -05:00
Nathan Hourt
c7de8954fb Merge branch 'master' of github.com:bitshares/fc 2015-02-12 10:55:12 -05:00
Nathan Hourt
de2000795d Fix crashes when destroying json_connection, tcp_socket
Also, create on_close callback on json_connection, so clients can
know when the connection has failed.
2015-02-12 10:54:18 -05:00
Vikram Rajkumar
ee370dd5a8 Define sha256::hash( sha256 ) 2015-02-11 18:58:19 -05:00
Nathan Hourt
13430fce12 Revert "Dumb hack that seems to prevent crashing when destroying json_connection"
This reverts commit b068865eb5.
Caused crashes elsewhere.
2015-02-11 17:20:58 -05:00
Nathan Hourt
b068865eb5 Dumb hack that seems to prevent crashing when destroying json_connection 2015-02-10 18:35:50 -05:00
Vikram Rajkumar
9c5450185a Revert "Pretty-print objects in log messages"
This reverts commit 41630e7629.
2015-02-05 18:52:59 -05:00
Vikram Rajkumar
41630e7629 Pretty-print objects in log messages 2015-02-04 18:05:28 -05:00
Vikram Rajkumar
43659333d3 Fix compiler warning 2015-02-03 18:12:37 -05:00
theoretical
323d59b054 real128: Rename PRECISION to FC_REAL128_PRECISION and expose it globally 2015-02-03 11:31:20 -05:00
theoretical
51033bcb12 real128: Implement from_fixed() to initialize real128 from fixed point value 2015-02-03 11:23:22 -05:00
theoretical
4b8c211629 uint128: Check for large shift count before truncating in << and >>
- Correctly handle very large shift counts
- uint128(1) << (uint64_t(1) << 32) should now be 0 as expected
2015-01-30 13:19:01 -05:00
Nathan Hourt
ac197311ca json_connection: save and cancel a future
Hopefully this will fix a crash on exit.
2015-01-30 10:23:33 -05:00
theoretical
d963c6482a Protect flush() with lock in json_connection.cpp
- Maybe fixes https://github.com/BitShares/bitshares/issues/1323
2015-01-29 12:55:34 -05:00
Eric Frias
a33bb60cf6 Add a simplified lock file class to use to prevent two applications from using the same resource 2015-01-21 19:29:38 -05:00
theoretical
0642eb63d3 Throw more appropriate exception type in from_base58 2015-01-21 14:57:04 -05:00
SynaptiCAD User
859282305d Better format log message context 2015-01-21 09:50:14 -05:00
Eric Frias
f3065b367e Add log appender that sends logs in GrayLog Extended Log Format 2015-01-20 16:13:26 -05:00
Vikram Rajkumar
e1678b1801 Add missing default HTTP response 2015-01-19 17:38:28 -05:00
theoretical
64c6c01b80 more efficient uint128 multiplication algorithm (measured 29.23x speedup) 2015-01-07 14:57:45 -05:00
theoretical
6ecb55ac2e Implement full product for uint128 * uint128 -> 256-bit result 2015-01-07 11:20:34 -05:00
drltc
40943808d0 Initial implementation of relaxed JSON parser (not fully tested) 2015-01-02 10:37:16 -05:00
theoretical
524093ce1e Implement chmod function (no-op on Windows) 2014-12-31 14:42:36 -05:00
Eric Frias
5a91c4f118 Virtualize a few functions in istream to allow them to be overridden in derived classes 2014-12-22 17:56:30 -05:00
drltc
594ef43f76 Wrap boost exceptions thrown by to_int64, to_uint64, to_double 2014-12-15 15:40:35 -05:00
drltc
43e02caa79 Fix typo in 64-bit integer variant constructor on Linux 2014-12-15 15:40:21 -05:00
Vikram Rajkumar
36baae683e Minor spelling fix 2014-12-11 19:16:02 -05:00
Daniel Larimer
cb66666edd Merge branch 'master' of github.com:BitShares/fc 2014-12-10 22:58:53 -08:00
Daniel Larimer
a4a90fac05 Update to elliptic curve signature verification 2014-12-10 22:43:37 -08:00
drltc
16c0709500 Increase stack size to 2MB 2014-11-19 11:27:22 -05:00
Vikram Rajkumar
e29438461e Revert "Temporarily revert timestamp serialization change to upgrade in phases"
This reverts commit c38479c6ae.
2014-11-12 14:12:56 -05:00
Daniel Larimer
e6b43a6149 adding support for 10 arg rpc calls 2014-11-10 18:29:05 -05:00
dnotestein
27ac054883 Log thread creation and destruction 2014-11-03 16:59:19 -05:00
dnotestein
13d536c119 Prevent crash at shutdown by shutting down rate_limiting asyncs before boost filesystem global constructors execute. 2014-10-31 17:54:14 -04:00
Vikram Rajkumar
c38479c6ae Temporarily revert timestamp serialization change to upgrade in phases 2014-10-29 15:01:24 -04:00
Vikram Rajkumar
f948bd759d Use ISO standard delimited timestamp string serialization 2014-10-28 18:54:49 -04:00
Eric Frias
307252e23a Call fc:🧵:quit() on thread destruction, and remove code that explicitly terminates threads from the destructors of the objects that own those threads.
Fix fc::thread to set the thread name in the Debugger when the name is set after thread construction.
When terminating a thread, cancel any tasks that have been schedule()d or async()ed but have not yet started executing.
When canceling a task blocked on a fc::mutex, notify the thread to reschedule the task to allow it to clean up the mutex's block list.
Fix a bug in managing the recursive lock count when tasks block on a fc::mutex
Reorder the code that manages the hard links for log files to avoid an exception generated by unlinking a locked file on Windows.
2014-10-21 10:25:28 -04:00
Nathan Hourt
c1eca45ef1 More fixes in json_connection 2014-10-20 12:52:47 -04:00
Eric Frias
891e880ad1 When the HTTP server asyncs a handler for a request, keep a future for that async and cancel any running asyncs when the HTTP server destructs 2014-10-17 16:18:55 -04:00
Nathan Hourt
fadc0512a1 Merge branch 'master' of github.com:InvictusInnovations/fc 2014-10-17 13:43:46 -04:00
Nathan Hourt
502a3c653c Fix yield in catch block 2014-10-17 13:43:40 -04:00
Vikram Rajkumar
7ddf882459 Fix linux build 2014-10-17 13:23:51 -04:00
Eric Frias
b026e82451 Remove task priority hack that is no longer needed 2014-10-17 12:04:21 -04:00
Eric Frias
227767a425 Fix type of PRECISION 2014-10-16 19:00:30 -04:00
Eric Frias
b34a222dc5 Remove #ifdefed-out code 2014-10-16 17:50:58 -04:00
Eric Frias
e5666cca54 Convert ready_head (list of fibers able to run immediately) into a priority heap 2014-10-16 16:26:19 -04:00
Eric Frias
95eb84e62d Add missing include 2014-10-16 16:25:12 -04:00
Eric Frias
1af4ac6a5c Schedule fibers in the order they are asynced or unblocked. Earlier behavior was always to start newly-asycned tasks before resuming existing tasks, so existing tasks could be starved if there was a steady stream of new tasks created. Now all tasks are started or resumed in the order they are created or unblocked. 2014-10-16 15:25:31 -04:00
Eric Frias
a426bf9710 whitespace and spelling fixes, no functional changes 2014-10-16 15:25:31 -04:00
Daniel Larimer
dfe67a4494 adding blob type to variant 2014-10-15 23:32:37 -04:00
Daniel Larimer
ec9e85d268 fix fixed point math 2014-10-15 20:46:24 -04:00
Nathan Hourt
c3a6b40188 Test and bugfix real128 2014-10-15 17:53:50 -04:00
Daniel Larimer
b55ae3431a adding real 128 for fixed point 64.64 math 2014-10-15 17:00:49 -04:00
Nathan Hourt
1a78fd2931 Add directory_size call
Recursively iterate the specified directory, summing up the files
inside, and return the total size.
2014-10-13 15:17:14 -04:00
Eric Frias
b63e6a8b81 Allow recursive fc::mutexes 2014-10-12 17:28:41 -04:00
Eric Frias
4e83427df0 Improvements for handling unicode filenames on Windows. When converting fc::path to/from fc::variant, use utf8 encoding. Replace several places where we use a std::ifstream and open it with a char* filename with a boost::filesystem::ifstream and open it with a boost::filesystem::path, which does unicode correctly. 2014-10-09 16:21:52 -04:00
Eric Frias
06ca6d8981 Fix bug that was causing NTP to fail to update after the first check 2014-10-07 11:49:35 -04:00
Eric Frias
82dd74add0 Retry NTP requests more frequently if we don't receive a (valid) reply 2014-10-07 11:10:27 -04:00
Eric Frias
0d61966a1c Improve NTP math 2014-10-07 10:31:19 -04:00
Eric Frias
5a615e6b21 Execute async tasks in the order they were asynced (this only changes the behavior of tasks that hadn't started executing yet, it doesn't change anything about the order blocked tasks unblock) 2014-10-03 16:53:14 -04:00
Eric Frias
256df78fc6 Allow binaries compiled on a system that doesn't support SO_REUSEPORT to use the option
on systems that do support it
2014-10-02 14:49:38 -04:00
dnotestein
c4e814d7de Added more logging to ntp and fixed code indentation. 2014-09-30 10:53:23 -04:00
dnotestein
53196706f0 Add some more logging to ntp time synchronization code. 2014-09-29 18:55:35 -04:00