Commit graph

1083 commits

Author SHA1 Message Date
theoretical
27e224b012 uint128: Make to_integer(), to_uint64() assert magnitude
- All places these are used already handle magnitude checks correctly
- As a "bit-twiddling" method, low_bits() truncates
- As a "semantics preserving type conversion" method, to_uint64() asserts
- Add low_32_bits() as a "bit-twiddling" non-asserting to_integer() equivalent
2015-01-30 13:19:01 -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
Daniel Larimer
633c889ce3 Merge branch 'master' of https://github.com/BitShares/fc 2015-01-29 17:01:19 -05:00
Daniel Larimer
b300404b89 adding comparison operators for optional 2015-01-29 17:01:17 -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
Vikram Rajkumar
40ad17d7d8 Merge pull request #3 from HackFisher/patch-3
Fix CMake on OSX 10.10 (Can not find ZLIB)
2015-01-23 13:36:33 -05:00
HackFisher
5cfb9fb75c Fix CMake on OSX 10.10 (Can not find ZLIB)
6ddf1639c5

Become ok after revert the position, any comment on this?


```
-- Found OpenSSL: /usr/local/Cellar/openssl/1.0.1i/lib/libssl.a;/usr/local/Cellar/openssl/1.0.1i/lib/libcrypto.a (found version "1.0.1i")
CMake Error at /usr/local/Cellar/cmake/3.1.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.5")
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.1.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.1.0/share/cmake/Modules/FindZLIB.cmake:110 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  libraries/fc/CMakeLists.txt:94 (find_package)
```
2015-01-23 16:37:18 +08: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
Eric Frias
0366b2e6b3 Suppress annoying "conditional expression is constant" win32 warning 2015-01-20 16:10:34 -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
975649ce5d real128: Replace header comment that inaccurately describes implementation 2015-01-07 13:56:46 -05:00
Vikram Rajkumar
fea997ca14 Fix compiler warnings 2015-01-07 11:53:09 -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
Vikram Rajkumar
683f1dd7bf Fix unused variable warning 2014-12-23 15:48:56 -05:00
Vikram Rajkumar
874f103b8d Fix overloaded virtual function warnings 2014-12-23 15:45:57 -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
Eric Frias
6ddf1639c5 Relocate zlib detection for fc 2014-12-22 17:54:05 -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
drltc
ff1152e55d Add sync_call() for calling a functor in another thread and waiting on it 2014-12-15 15:40:20 -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
Nikolai Mushegian
68d3ff57bf add missing includes for packing variant 2014-12-10 11:21:44 -05:00
Vikram Rajkumar
da31395c93 Merge pull request #2 from drltc/call8-10
Add call() for 8-10 parameters, fix typo for 7 parameters
2014-12-02 11:33:49 -05:00
drltc
459847741c Add call() for 8-10 parameters, fix typo for 7 parameters 2014-12-02 11:25:32 -05:00
valzav
0e4aeb135a links zlib on mac if found 2014-11-26 10:34:31 -05:00
Vikram Rajkumar
5dbab6ba11 Disable scrypt-jane compilation due to problems with Clang 2014-11-19 14:40:02 -05:00
Vikram Rajkumar
3a775bde19 Merge pull request #1 from drltc/stacksize
Increase stack size to 2MB
2014-11-19 12:03:25 -05: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
Nathan Hourt
72088c548b Tweak FC enum reflection
Previously when enum values not defined in the original enum type were
used in serialized objects, FC threw exceptions when it encountered
these values. Now it just serializes unknown values to and from numbers
instead of names.

As an added benefit, the compiler now warns you if a value is defined in
the enum, but not reflected!
2014-10-31 16:30:18 -04:00
Nathan Hourt
95c2c461ac Add missing + operator to time_point_sec
time_point_sec had an operator defined for time_point_sec -
microseconds, but not one for time_point_sec + microseconds. Now it
does.
2014-10-30 18:26:07 -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
Daniel Larimer
42ff2b10de adding digest helper utility 2014-10-28 16:23:45 -04:00
Eric Frias
d1f51dd643 Fix the currently-unused postfix signed_int::operator++ to do what you'd expect 2014-10-27 16:37:20 -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