Commit graph

698 commits

Author SHA1 Message Date
theoretical
51033bcb12 real128: Implement from_fixed() to initialize real128 from fixed point value 2015-02-03 11:23:22 -05:00
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
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
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
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
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
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
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
drltc
459847741c Add call() for 8-10 parameters, fix typo for 7 parameters 2014-12-02 11:25:32 -05:00
drltc
16c0709500 Increase stack size to 2MB 2014-11-19 11:27:22 -05:00
Daniel Larimer
e6b43a6149 adding support for 10 arg rpc calls 2014-11-10 18:29:05 -05: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
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
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
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
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
Vikram Rajkumar
5fa3cb8632 Add < operation to private_key to allow usage as an ordered key 2014-10-02 12:55:20 -04:00
Eric Frias
8def04f341 Add a path::preferred_string() function that generates a string in the platform's preferred format, using backslashes on win32 (uses boost::filesystem::path::make_preferred()).
Modify the log file configuration and rotating code to call to_native_ansi_path() and do more paths manipulation in fc::path objects and less in std::strings, in an attempt to improve BitShares/bitshares_toolkit#791
2014-09-25 08:57:31 -04:00
Eric Frias
2f066e4adf Fix a crash in fc::process when not capturing all three stdin/out/err
Quiet a few 64-bit warnings.
2014-09-18 11:17:41 -04:00
Eric Frias
3ee5f756fb Fix a yield-during-catch bug in udp_socket, and add a shared_ptr version of udp_socket::send_to() which will avoid reading from uninitialized memory in the face of cancellation. 2014-09-12 19:42:25 -04:00
Eric Frias
751777e754 Fix more locations where we were making boost::asio calls with buffers declared on the stack which could cause problems when the calling tasks were canceled. 2014-09-11 16:30:03 -04:00
Eric Frias
aa6882b3b7 Allow us to safely cancel tasks that are executing asynchronous network reads
and writes.  This was previously unsafe because we almost always passed read/write
buffers to boost that were on the stack. Canceling the task deleted the stack and
therefore the buffer, but couldn't reliably prevent boost from writing to the buffer
if data came in after the cancel.  This commit adds variants of the read and write
functions that take a shared_ptr<char> instead of a raw char* as the buffer, and
these variants will ensure the shared_ptr will outlive the boost::asio read/write.
2014-09-09 11:10:37 -04:00
dnotestein
10fdbcf5b3 Dequeue a thread from a blocking promise's notify list when the all the thread's tasks that are waiting on that promise are canceled. This prevents a crash when the promise is fulfilled after the thread is destroyed.
Re-organize read-loop execution to avoid crashes in read_loop on Win32 when ntp object destructs. Call quit on ntp_thread when ntp object destructs to free up thread (eventually we need to make fc::threads call quit in their destructor, but more work is required to make that work properly).
~fc::udp_socket now closes socket on destruction (consider doing this for tcp sockets as well).
2014-09-08 15:31:13 -04:00
Eric Frias
130da3623e Allow fibers to be canceled while they're sleeping or blocked on promises 2014-09-08 10:41:59 -04:00
Eric Frias
454573e048 Add support for boost 1.56. 2014-09-08 10:41:59 -04:00
Nathan Hourt
21db937ba7 Add reflector for multimap 2014-09-04 19:14:23 -04:00
Eric Frias
a0b3a9a92d Restore function-like semicolon-swallowing behavior to FC_THROW 2014-09-02 15:21:30 -04:00
Eric Frias
3222dc7c0b When reusing a context, re-initialize most of its fields. This fixes at least two errors:
- we were canceling tasks that hadn't been canceled, because the canceled flag was left set to true and the next task assigned to the context then became canceled as soon as it yielded
 - we were resumeing blocked tasks before they should have resumed, because their blocking_promises list wasn't cleared and they were unblocking because the erroneous promises were fulfilled
As a debugging aid, we also record the cancellation reason whenever a task is canceled, and include that in the canceled_exception (this is only enabled in debug builds)
2014-08-28 15:43:26 -04:00
Eric Frias
477d3397f6 Merge branch 'log_task_names' 2014-08-28 15:29:14 -04:00
Eric Frias
da15557c85 assert() instead of throwing fc::null_optional exception when dereferencing an invalid optional. Before, the behavior was to throw null_optional in debug mode and to allow the dereference in release, which masked the error 2014-08-28 11:42:46 -04:00
Eric Frias
ac385d1f6b Allow the user to supply a reason string when canceling a task (useful for debugging) 2014-08-27 14:07:44 -04:00
Eric Frias
8841f5e271 Import thread/task_specific variables 2014-08-27 12:20:19 -04:00
Eric Frias
27096f15a7 Log the names of tasks to the log file (now contains thread_name:task_name} 2014-08-24 18:33:05 -04:00
Eric Frias
578527626c Support GNTP password authentication 2014-08-21 19:32:56 -04:00
Eric Frias
156a7cc4b4 Allow setting hostname 2014-08-21 16:14:08 -04:00
Eric Frias
362884fc52 Import GNTP notification code 2014-08-21 15:21:48 -04:00
Eric Frias
978de7885a Add a macro to check if a task that shouldn't yield actually yields. 2014-08-02 19:43:28 -04:00
Eric Frias
8fa21821ae Suppress "inherited via dominance" warning 2014-08-02 15:49:07 -04:00
Daniel Larimer
6e31ffd963 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-08-01 17:21:24 -04:00
dnotestein
7cc69f3bb7 Set canceled flag in task's context object so that we cancel out of active tasks when they try to resume. Wrap a try-catch block around tcp and udp resolve requests to convert any non-fc exceptions to fc exceptions. Minor change to clarify design intent that request_time_task should always be running in _ntp_thread. 2014-08-01 11:31:36 -04:00
Daniel Larimer
3ccbe26dd5 adding aes exception 2014-07-29 13:54:50 -04:00
Vikram Rajkumar
a23f3a86be Add missing integer variant conversions 2014-07-28 22:36:47 -04:00
Vikram Rajkumar
f644b1e475 Fix compiler warning 2014-07-27 20:46:39 -04:00
Eric Frias
d847f6469a Allow us to require assigning descriptions to all async tasks to aid in debugging 2014-07-27 17:37:21 -04:00
Vikram Rajkumar
48837f3116 Add time_point_sec::to_iso_{extended_}string() 2014-07-26 21:05:11 -04:00
Eric Frias
24ba357b0d Make future's cancel_and_wait automatically swallow the canceled_exception since it is expected. 2014-07-26 14:51:48 -04:00
PaulEU
4890351b34 Added OpenSSL configuration file path. (qt_wallet issue #10 Some clients on Windows 7 quit/crash on start) 2014-07-23 00:18:09 +02:00
Gandalf-the-Grey
2d51fd7321 Fix compile fc on Win64 tcp_socket needs a bit (two dozens of) more space. 2014-07-22 10:04:55 -04:00
Nathan Hourt
eb022cef27 Merge branch 'master' of github.com:InvictusInnovations/fc
Conflicts:
	.gitignore
2014-07-22 10:00:25 -04:00
Eric Frias
0a1011ddc9 Fix win32 compile (increase size of tcp_socket) 2014-07-21 10:40:21 -04:00
Daniel Larimer
eed62c8338 sockets now wait for any pending write or read operations to finish before destructing 2014-07-17 17:03:25 -04:00
Eric Frias
f2cbb650c6 Merge branch 'master' of github.com:InvictusInnovations/fc 2014-07-14 19:26:17 -04:00
Eric Frias
c28ccd2413 Fix wacky types u_int32_t to uint32_t &c 2014-07-14 19:25:54 -04:00
Vikram Rajkumar
e442b29f6e Fix scrypt 2014-07-14 13:40:33 -04:00
Daniel Larimer
ace06d775c support for 8 param rpc calls 2014-07-04 17:23:47 -04:00
Vikram Rajkumar
c9c56ffbb6 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-07-03 17:24:14 -04:00
Vikram Rajkumar
e9b1b8ec2e Use a separate thread for log compression 2014-07-03 17:24:06 -04:00
Eric Frias
c020913cb8 Make process::exec take an 'int' for the bitmask of launch options instead of an enum to make it more clear that it's a bitmask (and avoid a cast) 2014-07-03 09:30:50 -04:00
Vikram Rajkumar
cc1ef61cd6 Logs are now rotated on startup if rotation is enabled 2014-07-03 01:16:46 -04:00
Vikram Rajkumar
39c7f05ea9 Implement LZMA file decompression 2014-07-03 00:01:02 -04:00
Vikram Rajkumar
f56dd6d208 Implement LZMA file compression 2014-07-02 23:28:43 -04:00
Daniel Larimer
9f401c7143 Merge pull request #30 from nathanhourt/phoenix
Add missing synchronous call overload to json_connection
2014-07-02 17:40:52 -04:00
Vikram Rajkumar
c0187865ea Implement log file rotation 2014-07-02 17:36:21 -04:00
Vikram Rajkumar
748a9b52a5 Add time_point_sec::-( uint32_t ) 2014-07-01 13:38:24 -04:00
Vikram Rajkumar
0efad975cb Add missing const on time_point_sec::+ 2014-07-01 12:13:58 -04:00
Daniel Larimer
c33acad0ab fix udt sockets, actually enable non blocking operation 2014-06-29 01:38:46 -04:00
Daniel Larimer
d2072e9d3a updates to thread / udt socket 2014-06-26 20:10:56 -04:00
Daniel Larimer
8670a4722f Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-06-26 20:10:37 -04:00
Eric Frias
c925ceb232 Add a comparison operators for signed_int, correct the ones for unsigned_int 2014-06-26 15:51:35 -04:00
Eric Frias
560b107e58 Fix signed/unsigned warnings 2014-06-26 15:51:01 -04:00
Eric Frias
b8efe02cdb Add typedef for signal connection type 2014-06-26 11:59:30 -04:00
Daniel Larimer
bb40828953 Merge branch 'master' of https://github.com/InvictusInnovations/fc 2014-06-26 11:25:12 -04:00
Daniel Larimer
5529b300d9 implemented working UDT socket/server 2014-06-26 11:25:07 -04:00
Nathan Hourt
1284c5e686 Fix build wrt fc::ip::address multiple definitions 2014-06-26 10:41:20 -04:00
Eric Frias
21d1ce2067 Merge branch 'phoenix' 2014-06-26 10:03:42 -04:00
Daniel Larimer
5c98d7864f Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc 2014-06-26 08:48:12 -04:00
Daniel Larimer
d20b9d049b start work on udt socket class for fc 2014-06-25 18:34:04 -04:00
Eric Frias
2c5c1655a6 Add counters to the TCP rate limiter to measure actual upload and download speed, and allow the caller to set how bursty they want the connection to be. 2014-06-25 18:16:58 -04:00
Daniel Larimer
3de924b336 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-21 16:12:42 -04:00
Daniel Larimer
75baeb3189 adding missing header guard 2014-06-21 16:12:25 -04:00
Eric Frias
2b3728af37 Add -> for directory_iterator 2014-06-20 10:38:21 -04:00
Eric Frias
accb6fddcb Add raw serialization for microseconds 2014-06-19 15:51:41 -04:00
Daniel Larimer
c7013d3eea update log_message to take std::string rather than const char* 2014-06-19 11:29:57 -04:00
Daniel Larimer
7a51b73680 adding ulog to send messages to the user log stream 2014-06-19 11:19:22 -04:00
Nathan Hourt
885aa14ed1 Add missing synchronous call overload to json_connection 2014-06-17 13:16:57 -04:00
Daniel Larimer
c84e47120d various updates 2014-06-17 09:37:04 -04:00
Daniel Larimer
4c3b6c2106 fix prototype mismatch 2014-06-17 09:35:37 -04:00
Eric Frias
6ef1c3e5d9 Spelling fix 2014-06-16 18:48:02 -04:00
Daniel Larimer
0c0a53541a made it easier to define custom loggers per file 2014-06-16 16:27:21 -04:00
Eric Frias
a0a33a9e95 Add missing include 2014-06-16 08:46:14 -07:00
Daniel Larimer
b7ad720647 updating ntp service 2014-06-16 11:17:29 -04:00
Eric Frias
888a01881a Change the function that returns relative time strings to generate times relative to an arbitrary clock instead of always using time_point::now(). (this is so we can use blockchain::now() instead).
Remove unused include.
2014-06-15 14:16:22 -04:00
Daniel Larimer
b02210a361 fix implicit bigint to bool 2014-06-12 17:36:58 -04:00
Daniel Larimer
4385bbe49a serialization and copy support for exceptions 2014-06-12 02:23:52 -04:00
Daniel Larimer
36d657fb62 enhance console appender 2014-06-11 23:41:10 -04:00
Daniel Larimer
cb69e2385b exception updates 2014-06-11 21:46:26 -04:00
Daniel Larimer
454da57a32 adding base58 helper 2014-06-11 17:28:47 -04:00
Daniel Larimer
6e7da6ca78 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-11 15:17:33 -04:00
Daniel Larimer
0c64d208d9 adding ntp support to fc 2014-06-11 15:17:28 -04:00
Eric Frias
f034839f10 Work around bugs in Visual C++ variadic macro parsing and/or non-standard use of same. Compiles on win32 and linux, whether it works is anyone's guess. 2014-06-10 09:56:58 -04:00
Daniel Larimer
8fd05525da fix printing 2014-06-09 19:58:45 -04:00
Daniel Larimer
c58a8339e8 fixing spacing on exception messages 2014-06-09 12:15:51 -04:00
Daniel Larimer
f9746b6fe6 fix exception macro 2014-06-09 12:13:29 -04:00
Daniel Larimer
ef8f257520 support for derived exceptions 2014-06-09 12:01:52 -04:00
Daniel Larimer
c5ee342ddf fix exception rethrow code 2014-06-09 11:46:11 -04:00
Daniel Larimer
374d71a1fd adding support for derived exceptions 2014-06-09 10:56:55 -04:00
Daniel Larimer
34ac1baf82 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-06-09 10:49:54 -04:00
Daniel Larimer
2164dd2e0c fix FC_CAPTURE_AND_RETHROW 2014-06-09 10:49:41 -04:00
Eric Frias
8e82a0a24a Fix default constructor for exceptions declared using the FC_DECLARE_EXCEPTION macro to include the correct code and strings 2014-06-09 09:55:02 -04:00
Eric Frias
263a6bbdc5 add time_point_sec::minimum() and maximum() 2014-06-09 09:54:11 -04:00
HackFisher
9b3b7993ee add unknown host exception 2014-06-08 16:53:23 -04:00
Daniel Larimer
88e41b76e3 fix warning in release builds 2014-06-08 10:45:32 -04:00
Daniel Larimer
8e3163d4fb extra helper variant constructor 2014-06-07 22:58:19 -04:00
Daniel Larimer
ac6505f196 fix compile warnings 2014-06-08 01:08:12 +00:00
dnotestein
a43bdf2ab7 fix fc compilation for windows (add NO_RETURN to rethrow declaration) 2014-06-07 12:55:35 -04:00
Daniel Larimer
17117bc6bf adding support for 7 arg rpc calls 2014-06-06 22:46:28 -04:00
Daniel Larimer
d046526974 upgrade exception handling to support custom types in 3rd party libraries 2014-06-06 16:42:42 -04:00
Daniel Larimer
942545df5e adding variant for microseconds 2014-06-04 15:00:58 -04:00
Eric Frias
a6ca7042da add to/from variant for fc::microseconds 2014-06-04 13:51:50 -04:00
Eric Frias
2690a52fe5 Add a function to return the local endpoint of a http server 2014-06-03 19:00:22 -04:00
Daniel Larimer
5a0f996333 adding pretty print 2014-06-03 11:09:15 -04:00
Daniel Larimer
0cf08f124e Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into HEAD 2014-06-02 21:05:19 -04:00
Daniel Larimer
285913bce0 some compilers need more space 2014-06-02 21:05:04 -04:00
Eric Frias
2251d0f241 Fix bigint on conversions to and from 64-bit integers on 32-bit platforms
Fixes BitShares/bitshares_toolkit#150
2014-06-02 13:32:42 -04:00
vogel76
04f07aa429 [BW]: [Fix] Eliminated OpenSSL initialization from CRT init time (which caused random problems on windows7 machines leading the application to silent crash). Right now it is done at first use of fc parts using it. Also added method to setup OpenSSL configuration path to custom one (to avoid using path compiled into OpenSSL at configuration & build time). 2014-06-02 17:34:04 +02:00
Eric Frias
9fa6e8a430 Separate the 'bind' operation for tcp_sockets from the 'connect_to' operation so we can tell which operation is throwing an exception in client code. convert a few boost exceptions into fc::exceptions. 2014-06-01 18:08:10 -04:00
Daniel Larimer
861221098f made ripemd160 string conversion operator explicit 2014-05-30 14:29:00 -04:00
Eric Frias
7dde0a705d Add 5 and 6 argument versions of json rpc call functions 2014-05-29 15:54:40 -04:00
Daniel Larimer
ca0b3c7758 adding reflect typename to fc::microseconds 2014-05-29 10:54:42 -04:00
Daniel Larimer
65361f1fce updated typedefs for clarity 2014-05-25 23:12:33 -04:00
Daniel Larimer
ac03a71f3d improve variant cast error reporting 2014-05-25 14:18:26 -04:00
Daniel Larimer
f636a9602c Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-05-23 21:38:11 -04:00
Daniel Larimer
3eaa6a3f65 adding mod to uint128 2014-05-23 21:38:05 -04:00
Eric Frias
b9050b589d Merge branch 'phoenix' into tcp_rate_limiting 2014-05-23 18:04:05 -04:00
Eric Frias
c1ff37889b Add + operator to time_point_sec 2014-05-23 18:03:27 -04:00
Nikolai Mushegian
adacbf6d6b Merge pull request #27 from vikramrajkumar/phoenix
Minor cleanup
2014-05-23 17:43:16 -04:00
Daniel Larimer
ba45a9b090 improve error reporting on std::exceptions 2014-05-22 14:56:52 -04:00
Daniel Larimer
9874fc9076 adding != operator to fc::microseconds 2014-05-22 14:24:31 -04:00
Vikram Rajkumar
c9529c8f87 Return synonym "uint160_t" for uint160 typename to not break leveldb upgrade routine 2014-05-22 03:52:59 -04:00
Eric Frias
5719d28a19 Move/rename git revision info compiled into FC to be more self-explanatory 2014-05-20 18:02:20 -04:00
Eric Frias
cb6014eecc Remove to_string overload on size_t for win32, it now conflicts with the uint32_t case 2014-05-20 17:10:38 -04:00
Eric Frias
d2e2311d72 Removed old versions of base-16/58/64 conversion headers from fc/io, they have moved to fc/crypto 2014-05-20 17:07:34 -04:00
Daniel Larimer
6b9abdf272 adding raw::pack_size() helper 2014-05-20 13:42:21 -04:00
Daniel Larimer
b5828dc750 adding extra to_string variants 2014-05-20 12:31:05 -04:00
Daniel Larimer
17aefe29de using explicit bool operator for optional 2014-05-20 11:25:31 -04:00
Daniel Larimer
87c314facb raw serialization of std::map 2014-05-19 15:22:19 -04:00
Daniel Larimer
013b9a867f reflect typename of variant 2014-05-18 21:14:51 -04:00
HackFisher
ce131bae43 Fix compile error under windows
Error 1 error C2668: 'fc::to_string' : ambiguous call to overloaded function
2014-05-18 16:37:06 +08:00
Daniel Larimer
fd00bddcb4 update logging to create parent directory if it does not exist 2014-05-17 16:38:32 -04:00
Daniel Larimer
06bc873da0 improving error reporting in deserialization 2014-05-17 19:35:44 +00:00
Vikram Rajkumar
cde67a202c Implement assignment by subtraction for time classes 2014-05-16 22:29:46 -04:00
Eric Frias
b3e30e893b 32/64 bit int stuff 2014-05-15 14:14:58 -04:00
Eric Frias
2837892ec0 Upgrade to new version of city_hash library. This version has performance improvements, plus implements a variant with 32-bit output which will quiet some compiler warnings on win32. 2014-05-14 17:11:36 -04:00
Eric Frias
873a0ea70d Merge branch 'phoenix' into tcp_rate_limiting 2014-05-14 16:26:34 -04:00
Eric Frias
db7b1bdd69 Add an optional timeout parameter when waiting for a local process to exit 2014-05-14 08:51:30 -04:00
Daniel Larimer
0a11b29984 update error reporting 2014-05-13 16:41:27 -04:00
Eric Frias
37330ca005 change the naming of invalidOperation exception to the more fc-friendly
invalid_operation, and add an implementation so it can be used.
2014-05-09 11:50:32 -04:00
Eric Frias
bc4361bf64 Merge branch 'phoenix' into tcp_rate_limiting
Conflicts:
	include/fc/network/tcp_socket.hpp
	src/network/tcp_socket.cpp
2014-05-08 09:04:45 -04:00
Daniel Larimer
9378f6c7aa Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-05-07 21:27:48 -04:00
Daniel Larimer
3a34299199 update json validation and varint hashing 2014-05-07 21:27:37 -04:00
Eric Frias
b8a7531eab Fix error message printed when unable to deserialize a json object, improve
logging of return values and add logging of exceptional returns from
json function calls.  Continue my endless quest to break the mac build.
2014-05-06 17:20:04 -04:00
Eric Frias
9d3bddf09a constification 2014-05-01 14:04:44 -04:00
Eric Frias
aa111510f3 Expose enough functions in tcp_socket and tcp_server to allow listening and originating connections on the same port. So far, this seems to work on win32, other platforms untested.
Add a local_endpoint() function so we can find out which local interface a socket is bound to
2014-05-01 14:02:49 -04:00
Daniel Larimer
1d8f80c8f7 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-04-27 21:20:54 -04:00
Daniel Larimer
6f466979cc adding helper methods 2014-04-27 21:20:40 -04:00
Nikolai Mushegian
6b84b990b3 Merge pull request #21 from vikramrajkumar/phoenix
Make fc::reflector<ENUM>::to_string work with C++11 strongly typed enumerations
2014-04-25 16:19:39 -04:00
Daniel Larimer
61f2ac4679 adding HTTP response code 2014-04-22 17:25:07 -04:00
Vikram Rajkumar
1bdc40368f Make fc::reflector<ENUM>::to_string work with C++11 strongly typed enumerations 2014-04-22 15:57:11 -04:00
Daniel Larimer
e36ccb3cfd adding NotAuthorized HTTP response code 2014-04-22 10:22:17 -04:00
Eric Frias
cd34f696ce - Add four-argument version of json-rpc call function
- fix bug in json parser that prevented correct parsing of
  a true/false/null at the end of input
- prevent infinite recursion in a json helper function
2014-04-21 14:34:46 -04:00
Eric Frias
06df18c690 More work towards rate-limited TCP sockets 2014-04-17 19:39:15 -04:00
Eric Frias
f0633f8022 Merge branch 'phoenix' into tcp_rate_limiting 2014-04-17 16:18:22 -04:00
Eric Frias
ce7139c073 Start of work towards throttling TCP connections 2014-04-17 12:00:52 -04:00
Eric Frias
1b16e15585 Quiet compiler warning signed vs unsigned 2014-04-14 17:10:29 -04:00
Daniel Larimer
ac0f01843f fix build on osx by disabling some keepalive params 2014-04-11 17:06:57 -04:00
Eric Frias
85a9da6f27 Add to tcp_socket to enable TCP keepalives 2014-04-09 18:38:52 -04:00
Eric Frias
8bdc6fd219 Colorize fc log messages on win32 2014-04-06 18:06:43 -04:00
Eric Frias
3d02e3bc00 Wrap OpenSSL's random number generator in fc clothing 2014-04-02 08:54:13 -04:00
Eric Frias
2e5fdf952c Add a new version of tcp_socket::connect_to() that allows you to set the source port
(working, but not yet useful because we'll need to set SO_REUSEADDR)
2014-04-02 08:54:13 -04:00
Eric Frias
d27be6851b Fix serializing enums 2014-04-02 08:54:12 -04:00
Eric Frias
5543044bd3 Collect time of git commit for display in Keyhotee, add function for pretty-printing times 2014-03-31 16:10:52 -04:00
dnotestein
6c989e7b7a added minutes, hours, and days time functions 2014-03-31 11:01:28 -04:00
dnotestein
10127a854c Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix
Conflicts:
	src/crypto/elliptic.cpp
2014-03-30 18:32:20 -04:00
dnotestein
f09c91f878 added hash64 function that uses sha256 to replace city_hash in blockchain and message protocol-related hashing 2014-03-30 14:16:33 -04:00
Daniel Larimer
5f9dfa9a42 update http code 2014-03-27 19:53:40 -04:00
Daniel Larimer
3c59eebe92 Update HTTP server api to specify network interface 2014-03-27 01:55:52 -04:00
Daniel Larimer
987568e31b update apis 2014-03-27 01:09:08 -04:00
Daniel Larimer
bdeefb48bf adding std::map<> conversions to/from variant 2014-03-24 11:46:23 -04:00
Daniel Larimer
d3c2f60fe0 adding extra operators 2014-03-13 20:04:47 -04:00
Daniel Larimer
4ed7659b2b Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-03-10 22:23:19 -04:00
Daniel Larimer
a7b579e4e8 adding api helper 2014-03-10 22:22:31 -04:00
HackFisher
8b73226312 This should be a typo, fix it.
move ">" before #endif
2014-03-09 16:18:00 +08:00
Eric Frias
fdbaf88e5e Provide a way to intercept Win32 structured exceptions in async tasks
Something about the stacks created by boost::context prevents global structured exception handlers
from being called.  This allows the user to register a handler which will be called when there
is an unhandled structured exception in async task.
2014-03-08 18:48:19 -05:00
vogel76
f5249dc2d6 [BW]: [Ign] Workaround for missing template aliasing feature in VS 2012 to make bts_wallet compiling. 2014-03-04 18:24:15 +01:00
vogel76
163be8a6d0 [BW]: [NIP] Added public_key::to_base58 text conversion to simplify contact display_name generation at bts side. 2014-03-03 11:31:08 +01:00
Daniel Larimer
4b2d221c05 fix ecc point seralization 2014-02-27 23:35:24 -05:00
BrownBear
46bfcfe74d added missing files: romix.[hc]pp 2014-02-27 12:37:23 +01:00
BrownBear2
49ff83922b added romix kdf and cfb for aes 2014-02-26 12:05:17 +01:00
Tzadik Vanderhoof
0761d32d01 safer sha256 binary constructor 2014-02-24 02:08:48 -05:00
Tzadik Vanderhoof
57769e4df9 BSX-21 Import Bitcoin Private Key from String 2014-02-24 00:47:00 -05:00
Nicolas Wack
30ee9868e6 Fix compilation on mac os with clang/libc++ 2014-02-22 19:27:53 +01:00
batmaninpink
1e509fa1a9 added support for scrypt key derivation needed for multibit wallet support 2014-02-18 08:59:17 +01:00
Daniel Larimer
5178ca8c1a added api methods to encryption functions 2014-02-16 21:28:55 -05:00
Daniel Larimer
9b2190aa63 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-02-16 01:17:35 -05:00
Daniel Larimer
0843aa6652 adding raw serialization for unordered_map 2014-02-16 01:17:31 -05:00
dnotestein
5b103e5754 Add get_typename for std::vector<char> 2014-02-15 22:48:09 -05:00
dnotestein
32b7b02b15 Merge branch 'phoenix' of https://github.com/InvictusInnovations/fc into phoenix 2014-02-15 17:34:53 -05:00
Daniel Larimer
2743b56b56 added utility to hide console echo for entering passwords 2014-02-15 14:06:35 -05:00
Daniel Larimer
ded475f45a upgraded to boost::signals2 because signals is deprecated 2014-02-15 01:52:19 -05:00
Daniel Larimer
0ecd66fa73 adding utility methods for getting home dir and app dir 2014-02-15 01:22:59 -05:00
Daniel Larimer
a80164645f Update tcp_socket listen on single endpoint 2014-02-14 20:32:23 -05:00
dnotestein
68281f4dc0 Added get_typename function needed by new leveldb database upgrading code (uint160 is stored in blockchain database). 2014-02-11 23:10:24 -05:00
Daniel Larimer
09c84c1731 fixes to build under clang++ 2014-02-06 03:22:09 -05:00
Daniel Larimer
23eead5eaa merge changes 2014-02-06 02:49:02 -05:00
Daniel Larimer
3fda653b45 small fixes 2014-02-06 02:47:09 -05:00
Daniel Larimer
0db28ec6de Merge pull request #3 from wackou/fix_clang_compile
Fix clang compile
2014-02-06 02:46:43 -05:00
vogel76
af77f4dc4b [BW]: [Fix] Fixed gcc compile errors 2014-02-01 14:41:02 +01:00
vogel76
21558dbd70 [BW]: [Ign] Fixed compile errors on MSVC. 2014-01-31 14:07:14 +01:00
Daniel Larimer
52a4a46cca std::hash supprot for sha256 2014-01-30 15:10:05 -05:00
Daniel Larimer
fa85f98844 Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-01-29 17:07:31 -05:00
Daniel Larimer
36b29d74c2 adding comparison operators 2014-01-29 17:07:25 -05:00
vogel76
d2eefb7ed4 [BW]: [Ign] #pragma warning enclosed into _MSC_VER to avoid gcc complaining
[BW]: [NIP] Added LLCONST and ULLCONST macros to safely declare large literals incl. setting its type and avoid gcc compile error this way.
2014-01-29 13:09:52 +01:00
vogel76
10a6e76375 [BW]: [Ign] Fixed compile errors (missing < operator on fc::enum_type
[BW]: [Ign] Eliminated some annoying compiler warnings.
2014-01-29 12:52:13 +01:00
batmaninpink
ccd2bbe7b2 expose aes_decrypt for use elsewhere 2014-01-20 15:17:39 +01:00
Nicolas Wack
36de4226d9 Removed unused duplicate file.
This functionality is now found in network/ip.hpp
2014-01-19 19:58:58 +01:00
Nicolas Wack
271781f78c Fix compilation with clang/libc++
The issue was that redeclaring the hash template in the code somehow seems to shadow the declaration that is done in <functional> and <memory> and afterwards the template specialization of the hash function seems to use our redefined template instead of libc++’s one (most likely due to the fact that libc++ uses an inline namespace inside std)
2014-01-19 19:30:42 +01:00
Daniel Larimer
fb2fddf25c update logger 2014-01-14 14:00:30 -05:00
Daniel Larimer
7d81035e14 fix coding standard violations 2014-01-14 03:56:15 -05:00
Daniel Larimer
d4e5d604a5 Merge branch 'phoenix' of github.com:InvictusInnovations/fc into phoenix 2014-01-14 03:51:20 -05:00
Daniel Larimer
c0727f30b0 adding variant support for unordered maps 2014-01-14 03:51:17 -05:00