ckolivas
0676a1a885
Use TCP_NODELAY with raw sockets if !opt_delaynet
2013-05-09 12:00:28 +10:00
Con Kolivas
68196588c9
Make raw sockets compile on windows
2013-05-09 11:39:09 +10:00
Con Kolivas
43bcccf868
Recheck select succeeds on EWOULDBLOCK for stratum.
2013-05-09 10:41:27 +10:00
Con Kolivas
6e969e93e2
Recv() should all be non-blocking for raw sockets in stratum.
2013-05-08 22:52:18 +10:00
Con Kolivas
cf80fe4a63
Change verbosity and error for getaddrinfo warnings in setup stratum socket.
2013-05-08 22:41:28 +10:00
Con Kolivas
1a43cb0b17
Free servinfo after p is checked in setup stratum socket.
2013-05-08 22:11:01 +10:00
Con Kolivas
31aa4f6ceb
Use raw sockets without curl for stratum communications.
2013-05-08 21:59:58 +10:00
Con Kolivas
657e64477b
Sacrifice curl handle memory on stratum disconnects on all versions of libcurl to avoid curl corruption.
2013-05-08 06:28:07 +10:00
Con Kolivas
891f88b601
Don't use TCP_NODELAY if opt_delaynet is enabled with stratum.
2013-05-06 16:54:55 +10:00
Kano
2ce2f8d8eb
util correct applog typing
2013-05-02 23:36:04 +10:00
Kano
863c9e27df
util.c str_text make a fully text readable version of str
2013-04-26 14:49:10 +10:00
Con Kolivas
d835ef75d1
Receive failures in recv_line should unconditionally fail.
2013-04-24 23:16:21 +10:00
Con Kolivas
06f7f52553
Revert "Add more debugging to recv_line parse failure."
...
This reverts commit b615502b2b
.
Unnecessary.
2013-04-24 23:14:41 +10:00
Con Kolivas
af60a19ddd
Use sock_blocks function for stratum send and receive.
2013-04-24 23:07:42 +10:00
Con Kolivas
181cb1635f
There should be no error response code with return value 0 in recv_line.
2013-04-24 21:26:44 +10:00
Con Kolivas
b615502b2b
Add more debugging to recv_line parse failure.
2013-04-24 21:14:20 +10:00
Con Kolivas
e95695dbc7
Check for errors on stratum recv for any recv return value less than 1 and only parse the response if it's positive.
2013-04-24 20:44:41 +10:00
James Z.M. Gao
e00a1b0e52
compile on win32
2013-04-22 11:19:15 +08:00
Con Kolivas
d2abaa8317
Provide wrappers for commonly used timer routines with API stats.
2013-04-22 10:49:10 +10:00
Con Kolivas
3cc42231f1
Fulltest is true if value is <= target.
2013-04-22 09:53:34 +10:00
Con Kolivas
3c61a51ea5
Use system host to endian functions for clarity in fulltest.
2013-04-22 09:48:41 +10:00
Con Kolivas
3d7f824363
Create a cgminer specific gettimeofday wrapper that is always called with tz set to NULL and increases the resolution on windows.
2013-04-21 19:02:44 +10:00
Con Kolivas
3b5ef34371
Add high resolution to nmsleep wrapper on windows.
2013-04-21 18:01:49 +10:00
Con Kolivas
36bb133e61
Cleanup when stratum curl fails to initialise.
2013-04-15 12:34:34 +10:00
Con Kolivas
81549c5bff
Avoid applog in recalloc_sock.
2013-04-15 12:16:05 +10:00
Con Kolivas
69c203d88a
Avoid applog under stratum_lock in recv_line.
2013-04-15 12:07:52 +10:00
Con Kolivas
e4effc372c
Avoid applog under stratum_lock in __stratum_send.
2013-04-15 12:01:24 +10:00
Con Kolivas
d248e7aafa
Put spacing around locking in util.c for clarity.
2013-04-15 11:50:59 +10:00
Con Kolivas
c1ec55a6a3
Avoid curl_easy_cleanup on old curl versions in setup_stratum_curl as well.
2013-04-09 07:08:09 +10:00
Con Kolivas
1e14748c68
Small timeouts on select() instead of instant timeout increase reliability of socket reads and writes.
2013-04-06 16:38:11 +11:00
Con Kolivas
c6ca12f084
Differentiate socket closed from socket error in recv_line.
2013-04-06 11:22:30 +11:00
Con Kolivas
b6e3d5b4fa
Make pool adding while running asynchronous, using the pool test thread functionality.
2013-03-14 22:34:53 +11:00
Con Kolivas
1a74bc5631
Only curl easy cleanup a stratum curl if it exists.
2013-03-14 22:08:19 +11:00
Con Kolivas
195ea63589
Sacrifice the ram of curl handles in stratum disconnects when we have built with old libcurl to avoid crashes.
2013-03-14 22:05:42 +11:00
Con Kolivas
26ddd1fd20
Move the stratum and GBT data to be protected under a new cg_lock data_lock.
2013-03-12 22:31:45 +11:00
Con Kolivas
66c567ab2e
Use curl_easy_cleanup to close any open stratum sockets.
2013-03-09 12:13:12 +11:00
Con Kolivas
7e3ca57049
Set sockd to false should curl setup fail on stratum.
2013-03-09 10:41:36 +11:00
Con Kolivas
56068d6839
Close any open sockets when reusing a curl handle and reopen the socket whenever we're retrying stratum.
2013-03-09 10:30:58 +11:00
Con Kolivas
09c02b1c7b
Shorten the time before keepalive probes are sent out and how frequently they're sent with stratum curls.
2013-03-07 22:02:51 +11:00
Con Kolivas
501f4cd6ec
Clear the socket of anything in the receive buffer if we're going to retry connecting.
2013-03-07 19:59:30 +11:00
Con Kolivas
c9b4f5c757
Revert "Cope with out of order messages coming in upon attempting to auth_stratum."
...
This reverts commit 237f67c617
.
2013-03-07 15:34:44 +11:00
Con Kolivas
ed903ddf31
Clear just the socket buffer when we don't care what is left in a stratum socket.
2013-03-07 15:13:32 +11:00
Con Kolivas
fbb25c4ba5
Clear the stratum socket whenever we are closing it since the buffer is going to be reused.
2013-03-07 15:10:38 +11:00
Con Kolivas
0810212c9a
Reset stratum_notify flag on suspend_stratum as well.
2013-03-07 14:20:33 +11:00
Con Kolivas
07ae6172cc
Close any sockets opened if we fail to initiate stratum but have opened the socket.
2013-03-07 14:15:28 +11:00
Con Kolivas
6875dc46b6
Close any existing stratum socket if we are attempting to restart stratum so the pool knows the connection has gone.
2013-03-07 13:50:25 +11:00
Con Kolivas
237f67c617
Cope with out of order messages coming in upon attempting to auth_stratum.
2013-03-07 11:36:04 +11:00
Con Kolivas
e3151799b6
Implement client.show_message support for stratum.
2013-03-07 08:42:14 +11:00
Con Kolivas
0be6e9e76c
Make sure to retry only once with noresume support for stratum.
2013-03-06 21:01:46 +11:00
Con Kolivas
5abcf06bbe
Merge branch 'master' into usb-dev
2013-02-25 10:44:54 +11:00
Con Kolivas
3c949e5f6c
Try to extract the sessionid associated with mining.notify on 3rd level array and submit it along with the userid to support mining resume, failing gracefully and restarting if the pool rejects it.
2013-02-25 10:43:48 +11:00
Con Kolivas
5a3b374962
Update copyright dates.
2013-02-25 08:59:11 +11:00
Con Kolivas
6bf79626b8
Merge branch 'master' into usb-dev
2013-02-23 13:59:37 +11:00
Con Kolivas
3dcdb94921
Cope with misread sessionid on stratum for now.
2013-02-23 13:07:47 +11:00
ckolivas
6a0882f05b
Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection.
2013-02-22 16:55:39 +11:00
ckolivas
68d691093c
Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol.
2013-02-22 12:55:01 +11:00
ckolivas
22a50a5a0f
Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev
2013-02-17 00:10:36 +11:00
Con Kolivas
a7859bb416
Merge pull request #386 from luke-jr/bugfix_20130215a
...
Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message
2013-02-16 03:52:06 -08:00
Luke Dashjr
7473c3dc94
Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message
2013-02-16 05:06:38 +00:00
Con Kolivas
ab0cc58cb4
Merge branch 'master' into usb-dev
2013-02-15 23:15:11 +11:00
Con Kolivas
be4705a003
Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process.
2013-02-15 23:05:29 +11:00
Con Kolivas
4cde791e9f
Provide basic framework for restarting stratum depending on whether resume support exists or not.
2013-02-15 21:31:44 +11:00
Con Kolivas
c29df9760f
Abstract out the setting up of the stratum curl socket.
2013-02-15 21:03:39 +11:00
Con Kolivas
c851f39598
Store session id for stratum if the pool supports it for future mining.resume support.
2013-02-15 14:46:30 +11:00
Kano
c432c655f7
debug_cb buffer type warning
2013-02-13 14:50:55 +11:00
Con Kolivas
3c91b292a2
Merge branch 'master' into usb-dev
2013-02-07 18:02:38 +11:00
Con Kolivas
903c666326
Fix logic fail on partial writes with stratum send that was leading to corrupt message submissions.
2013-02-07 16:38:11 +11:00
Con Kolivas
0244998ef8
Merge branch 'master' into usb-dev
2013-02-04 11:23:20 +11:00
Con Kolivas
d644fdf1f4
Cache the coinbase length to speed up stratum work generation.
2013-02-04 11:19:12 +11:00
Con Kolivas
0870ab7532
Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation.
2013-02-04 11:06:05 +11:00
Con Kolivas
51d11a28f9
Provide a wrapper for aligning lengths of size_t to 4 byte boundaries.
2013-02-04 10:19:12 +11:00
Kano
c1eae36f7b
API stats - include pool network bytes + in miner.php
2013-02-02 20:14:33 +11:00
Con Kolivas
e1387dc85c
Change the pool stratum socket buffer to be dynamically allocated to accomodate any size coinbase and keep receiving data in recv line for up to 60s if no end of line has been received.
2012-12-29 11:29:59 +11:00
Con Kolivas
6e2e7d36de
Differentiate socket full from sock full.
2012-12-29 10:46:55 +11:00
Con Kolivas
7f46f6e91f
Allow stratum to startup without notify but check it is valid before creating stratum work.
2012-12-29 10:42:45 +11:00
Con Kolivas
e1d7ecdd35
Do not try to generate stratum work unless the notify command has succeeded.
2012-12-29 09:45:40 +11:00
Con Kolivas
944af31b99
Parse anything in the stratum socket if it's full without waiting. Empty the socket even if a connection is not needed in case there are share returns.
2012-12-26 09:31:41 +11:00
Con Kolivas
cada0d3195
Check for EWOULDBLOCK when supported in send and recv as well.
2012-12-14 21:36:42 +11:00
Con Kolivas
2274af6a05
Use the raw send() command instead of curl_easy_send since curl raw socket usage introduces random bugs on windows.
2012-12-14 21:29:33 +11:00
Con Kolivas
f66d59df03
Use raw recv() command in place of curl_easy_recv since the curl implementation introduces random bugs on windows builds when the recv fails.
2012-12-14 21:20:52 +11:00
Kano
138465bf0c
Pool store data transfer stats
2012-12-13 00:56:10 +11:00
Con Kolivas
ac3020f45b
Include prctl header for thread renaming to work.
2012-12-10 22:02:31 +11:00
Con Kolivas
15e5e36bcd
Return value of keep_sockalive is no longer used.
2012-12-09 14:13:24 +11:00
Con Kolivas
8fcc67f308
Remove dependency on mstcpip.h for windows build by making curl version >= 7.25.0 mandatory on windows builds, and use curl functions for keepalive whenever possible instead.
2012-12-09 13:39:37 +11:00
Con Kolivas
68f1b2c4b5
Set successful connect to true on auth stratum to allow summary on exit from single stratum pool.
2012-12-08 22:14:47 +11:00
Con Kolivas
be013e9699
Set pool probed to true on successful authorisation with stratum to avoid it being pinged later with pool_getswork.
2012-12-07 09:37:37 +11:00
Con Kolivas
fc5d3a0eaf
Suspend stratum connections to backup pools when there is no requirement to potentially grab work from them.
2012-12-03 09:52:46 +11:00
Denis Ahrens
271b05ab04
setting the name of the threads for linux,freebsd,openbsd and osx
...
code is borrowed from bitcoins util.c, so it is already tested
2012-12-02 11:39:20 +01:00
Con Kolivas
fc66a41e85
Style police.
2012-12-02 20:49:40 +11:00
Con Kolivas
f94cff77e6
Microoptimise and remove redundant copy of strdup function in calloc_strcat.
2012-12-02 18:06:55 +11:00
Con Kolivas
0ae02c6ec4
Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically.
2012-12-01 08:26:31 +11:00
Con Kolivas
ee8609d9a9
Provide helper functions calloc_str and realloc_strcat to create and extend arbitrary length arrays based on string length.
2012-11-29 12:48:17 +11:00
nelisky
6db7e2e5cf
fixes target calc for mips openwrt
2012-11-24 13:12:19 -08:00
Con Kolivas
0b088d8d81
Provide rudimentary support for literal ipv6 addresses when parsing stratum URLs.
2012-11-18 18:08:14 +11:00
Con Kolivas
f14bf5b16c
Merge pull request #326 from pshep/error_counters
...
Error counters
2012-11-17 22:06:49 -08:00
Con Kolivas
b3864d1a94
Support for fractional diffs and the classic just-below-1 share all FFs diff target.
2012-11-15 09:18:58 +11:00
Paul Sheppard
dad6c70420
Merge branch 'master' into error_counters
2012-11-06 09:46:05 -08:00
Con Kolivas
cc7c274543
Manage appropriate response codes for share submission with GBT.
2012-11-05 16:28:52 +11:00
Paul Sheppard
84173c6cc7
missing a break.
2012-11-04 20:38:11 -08:00
Paul Sheppard
9f74e650b3
Tidy up device error counts
2012-11-04 20:17:43 -08:00
Luke Dashjr
c2b5c5ee4c
Bugfix: Free old stratum_work data before replacing it
2012-10-30 19:30:11 +11:00
Con Kolivas
c2861d683a
There is no need for addrinfo any more.
2012-10-30 19:22:02 +11:00
ckolivas
a2d5783509
server and client sockaddr_in are no longer used in struct pool.
2012-10-30 16:45:27 +11:00
Con Kolivas
48f24223b8
Shorten the initiate stratum connect timeout to 30 seconds.
2012-10-29 12:35:21 +11:00
Con Kolivas
6f4c47ebd2
Make stratum socket fail more robust on windows by disabling the send buffer.
...
Reuse the same curl handle forcing a new connection instead of risking derefencing.
Add information about submission failure to stratum send.
2012-10-29 12:08:10 +11:00
Con Kolivas
aa97e87a13
Use keepalive with stratum sockets to improve its ability to detect broken connections.
2012-10-28 09:15:45 +11:00
Con Kolivas
d9276557f1
Show only the URL in the status bar to avoid long prefixes making for extra long lines.
2012-10-27 23:20:10 +11:00
Con Kolivas
6d3c880a25
Make sure to check pool stratum curl exists under lock before attempting any recv to not risk dereferencing upon attempting to reinitiate stratum.
2012-10-22 22:48:12 +11:00
Con Kolivas
e575763a80
Avoid redefining macros and align to 4 byte boundaries.
2012-10-22 22:06:00 +11:00
ckolivas
bb4bec98d5
Use select on stratum send to make sure the socket is writeable.
2012-10-17 09:34:32 +11:00
Con Kolivas
99adf397bd
Failure to calloc in bin2hex is a fatal failure always so just check for that failure within the function and abort, simplifying the rest of the code.
2012-10-16 19:47:31 +11:00
Con Kolivas
b3d4258940
Provide locking around the change of the stratum curl structures to avoid possible races.
2012-10-16 19:22:48 +11:00
Con Kolivas
e5babfa25b
Watch for buffer overflows on receiving data into the socket buffer.
2012-10-15 11:40:32 +11:00
Con Kolivas
2a9b3e33d3
String alignment to 4 byte boundaries and optimisations for bin<->hex conversions.
2012-10-14 09:54:04 +11:00
Con Kolivas
fc72ad5563
Off by one error.
2012-10-12 14:57:42 +11:00
Con Kolivas
9ccfcee6dc
Prevent overflows of the port char array in extract_sockaddr.
2012-10-12 14:55:52 +11:00
ckolivas
7f522ef83c
Add support for client.get_version for stratum.
2012-10-11 14:23:09 +11:00
Con Kolivas
a533f106fd
Update reconnect message to show whole address including port.
2012-10-11 00:08:45 +11:00
Con Kolivas
5226a399c7
Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum.
2012-10-11 00:06:44 +11:00
Con Kolivas
7c04a00e62
The command for stratum is client.reconnect, not mining.reconnect.
2012-10-10 23:56:24 +11:00
Con Kolivas
783af8768b
Implement rudimentary mining.reconnect support for stratum.
2012-10-10 23:41:29 +11:00
Con Kolivas
974f65c67f
Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function.
2012-10-10 23:22:24 +11:00
Con Kolivas
07605fad60
stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active.
2012-10-10 23:07:33 +11:00
Con Kolivas
ef822a25ed
Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum.
2012-10-08 11:08:04 +11:00
Con Kolivas
7a01578cc5
Only hand off to stratum from getwork if we succeed in initiating the protocol.
2012-10-06 10:14:30 +10:00
Con Kolivas
ef63ea3151
Drop stratum connect failed message to verbose level only since it's a regular probing message.
2012-10-05 12:45:07 +10:00
Con Kolivas
fa444294bf
TCP Keepalive in curl is only in very recent versions and not required with regular messages on stratum anyway.
2012-10-05 12:41:59 +10:00
Con Kolivas
a8d693029a
Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
2012-10-05 12:37:29 +10:00
Con Kolivas
deb0a9b644
Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
2012-10-04 23:18:33 +10:00
Con Kolivas
77c5a006aa
Alloca is unreliable on windows so use static arrays in util.c stratum code.
2012-10-04 21:00:32 +10:00
Con Kolivas
c113534feb
Begin support for mingw stratum build.
...
Conflicts:
configure.ac
2012-10-04 17:52:35 +10:00
Con Kolivas
2fae906440
Don't try to parse unneeded parameters in response to mining.subscribe.
2012-10-03 21:10:30 +10:00
Con Kolivas
9698858abc
Remove the sshare hash entry if we failed to send it.
2012-10-03 18:19:31 +10:00
Con Kolivas
3cb373d692
Change notify message to info level to avoid spamming repeatedly when a pool is down.
2012-10-03 12:01:29 +10:00
Con Kolivas
1b7aa48c8f
Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time.
2012-10-02 11:46:48 +10:00
Con Kolivas
d122a789ed
Use 5 second timeout on sock full for now as a temporary workaround.
2012-10-02 10:19:45 +10:00
Con Kolivas
d851bf3d65
Revert "Don't wait on select when first detecting stratum, just receive one line."
...
This reverts commit 496af92afd
.
Not quite right.
2012-10-02 10:10:52 +10:00
Con Kolivas
496af92afd
Don't wait on select when first detecting stratum, just receive one line.
2012-10-02 10:06:37 +10:00
Con Kolivas
bbb092e0da
Make the stratum recv buffer larger than the recvsize.
2012-10-02 09:08:47 +10:00
Con Kolivas
2941febd05
Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
2012-10-02 00:00:55 +10:00
Con Kolivas
eaf7ed0dcd
Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool.
2012-10-01 22:13:20 +10:00
Con Kolivas
b5617734fa
Provide locking around stratum send operations to avoid races.
2012-09-30 23:10:43 +10:00
Con Kolivas
8baac0d66d
Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash.
2012-09-30 23:03:45 +10:00
Con Kolivas
fa4c9bf60f
Use a more robust mechanism to obtain a \n terminated string over a socket.
2012-09-30 22:40:41 +10:00
Con Kolivas
2de951518e
Abstract out share submit as a function to be useable by stratum.
2012-09-30 20:24:24 +10:00
Con Kolivas
739cba28a7
Rename parse_stratum to parse_method as it is only for stratum messages that contain methods.
2012-09-30 19:19:46 +10:00
Con Kolivas
9180a557c3
Count each stratum notify as a getwork equivalent.
2012-09-30 19:11:22 +10:00
Con Kolivas
aa6aa29c4d
Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again.
2012-09-29 17:06:48 +10:00
Con Kolivas
7415d7aaa0
Begin implementing a hash database of submissions and attempt sending results.
2012-09-29 16:10:13 +10:00
Con Kolivas
ac47f7f3a6
Store and display stripped url in its own variable.
2012-09-29 14:16:16 +10:00
Con Kolivas
636f4b14d7
Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set.
2012-09-29 11:38:52 +10:00
Con Kolivas
1f6fe55152
Generate the coinbase for generation of stratum based work.
2012-09-29 02:16:22 +10:00
Con Kolivas
1f64491f62
The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
2012-09-29 01:48:01 +10:00
Con Kolivas
1221a80d41
Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
2012-09-29 01:03:23 +10:00
Con Kolivas
56255a0c86
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
2012-09-28 18:01:33 +10:00
Con Kolivas
31c3759ecd
Check return value of stratum_parse.
2012-09-28 10:37:42 +10:00
Con Kolivas
ac9a4378d1
Complete authorisation in stratum.
2012-09-28 10:31:45 +10:00
Con Kolivas
331026595f
Implement stratum parsing of notify parameters and storing them in the pool stratum work structure.
2012-09-28 10:18:58 +10:00
Con Kolivas
9d4a44e88e
Create helper functions for duplicating json strings to avoid keeping json references in use.
2012-09-28 09:57:42 +10:00
Con Kolivas
b86a893981
Append \n in the sock_send function instead of adding it when constructing json in stratum.
2012-09-28 05:30:36 +10:00
Con Kolivas
d416d22381
Don't keep any json references around with stratum structures.
2012-09-28 05:26:29 +10:00
Con Kolivas
7e2dcc6fff
Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables.
...
Implement mining difficulty setting.
2012-09-28 05:16:52 +10:00
Con Kolivas
a6f1a62220
Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
...
Begin stratum authorisation process.
2012-09-28 04:35:16 +10:00
Con Kolivas
07e6bd1262
Provide a helper function for reading a single \n terminated string from a socket.
2012-09-27 13:50:05 +10:00
Con Kolivas
f6f43500c0
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
2012-09-27 09:06:56 +10:00
Con Kolivas
8fd149eec9
Fix warnings.
2012-09-26 16:51:08 +10:00
Con Kolivas
e3f1b02e9a
Extract and store various parameters on stratum init confirming successful mining notify.
2012-09-26 16:49:51 +10:00
Con Kolivas
c0de671c4f
Use existing socket macros and close the socket on failure in init stratum.
2012-09-26 15:40:26 +10:00
Con Kolivas
a1b17229b8
Initiate stratum and grab first json result.
2012-09-26 15:23:01 +10:00
Con Kolivas
58873c1dfa
Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
2012-09-25 20:23:59 +10:00
Con Kolivas
ee3b7865e2
Prepare for getaddrinfo call.
2012-09-25 05:46:07 +10:00
Kano
41dcb10d4c
util.c - bug - proxy - no data end condition
2012-09-21 20:55:48 +10:00
Kano
bd3c98aaaf
Optional WorkTime details with each Accepted/Rejected work item
2012-09-15 14:04:57 +10:00
Kano
e043f5a5aa
bug: remove proxy: from the front of the proxy used
2012-09-12 08:32:00 +10:00
Kano
cef9731fbc
CURL support for individual proxy per pool and all proxy types
2012-09-12 07:44:00 +10:00
Kano
d5f485c517
Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php
2012-08-23 19:20:12 +10:00
Con Kolivas
8745ba1e6d
Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this.
...
Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision.
2012-08-15 09:38:45 +10:00
Luke Dashjr
9c648c1749
Bugfix: Calculate nsec in nmsleep correctly
...
The old algorithm (msecs * 1000000) - (sec / 1000000000) gets total nsec,
including seconds, since the sec/1e9 should be multiplying. It's also
vulnerable to easy overflows. Using ldiv gets the quotient and remainder
in a single operation (at least on x86) and avoids overflow.
2012-07-11 20:10:52 +00:00
Con Kolivas
bc0b14063f
Cope with signals interrupting the nanosleep of nmsleep.
2012-07-08 21:35:19 +10:00
Con Kolivas
3271be145f
Provide a ms based sleep function that uses nanosleep to avoid the inaccuracy of usleep on SMP systems.
2012-07-06 15:01:39 +10:00
ckolivas
1a43f79547
Mingw doesn't support asprintf, use sprintf.
2012-07-01 12:02:10 +10:00
ckolivas
1e9421475c
Timersub is supported on all build platforms so do away with custom timerval_subtract function.
2012-07-01 10:44:23 +10:00
ckolivas
75ea616422
Minor style police on util.c
2012-07-01 10:35:08 +10:00
ckolivas
8f954d40ec
Get rid of unused result warning with asprintf.
2012-07-01 10:17:12 +10:00
Con Kolivas
3267b534a8
Implement rudimentary X-Mining-Hashrate support.
2012-06-28 10:43:52 +10:00
ckolivas
c5a21fabf0
Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime.
2012-06-23 23:43:22 +10:00
Con Kolivas
268039cc7e
Indentation clean up.
2012-04-28 00:32:47 +10:00
Con Kolivas
eda382990a
Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
...
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
2012-04-27 11:58:47 +10:00
Con Kolivas
9609dbc42d
Set lp_path to NULL after free for consistency.
2012-04-20 21:09:37 +10:00
nelisky
17b9baa9da
Removing dmalloc import left behind by mistake
2012-04-20 03:36:42 -07:00
nelisky
44bcb69ccd
Fixing leak in resp_hdr_cb
...
Memory is allocated for key and val, and longpoll address, when found, is stored in the header_info and prevented from being freed there. This pointer is stored during pool probing but once that's done it was just being lost.
Not so visible but also leaking was the refuse reason string.
2012-04-19 14:45:40 -07:00
Luke Dashjr
ed8382c88d
Make curses TUI support optional at compile-time.
2012-03-12 18:38:45 -04:00
Con Kolivas
d1cddf8bad
Update licensing to GPL V3.
2012-02-21 22:23:07 +11:00
Con Kolivas
f4284a21a8
Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent
...
out.
2012-02-21 09:22:04 +11:00
Con Kolivas
fe4b5e1fc6
Set the lp_sent bool earlier to minimise the number of extra longpolls sent out.
2012-02-20 08:26:46 +11:00
Con Kolivas
39906718d2
Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of
...
the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool.
2012-02-19 22:07:31 +11:00
Con Kolivas
810ad04578
More copyright updates.
2012-02-18 23:16:08 +11:00
Con Kolivas
be9db9ce63
Copyright updates.
2012-02-18 23:00:21 +11:00
Con Kolivas
06721957a0
Freeze the queues on all threads that are sent the pause message to prevent them trying to start up again with saved pings in their queues.
2012-02-18 16:34:06 +11:00
Con Kolivas
3d3a3a2f3a
Fix unused warnings on win32.
2012-02-15 21:42:12 +11:00