Con Kolivas
b4cac54a7e
Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching.
2013-02-28 23:35:31 +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
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
1bf1f4a217
Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated.
2013-02-15 15:36:29 +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
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
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
e1d7ecdd35
Do not try to generate stratum work unless the notify command has succeeded.
2012-12-29 09:45:40 +11:00
Con Kolivas
d3bfee14b3
Display the current pool diff in the status line.
2012-12-25 23:14:21 +11:00
Con Kolivas
f0c1782c03
Generate the output hash for scrypt as well and use the one function to set share_diff.
2012-12-25 14:08:27 +11:00
Kano
e931b72753
API V1.23 - new pgaset command, to be used soon
2012-12-19 10:43:27 +11:00
Kano
072909a12f
MMQ count work check timeout failures
2012-12-17 13:21:24 +11:00
Kano
38ff2a7df9
MMQ allow partial work replies and count them
2012-12-17 13:20:10 +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
fd1bd9e7c3
Merge pull request #365 from kanoi/api
...
Pool store data transfer stats + API stats - display pool byte transfer stats
2012-12-12 15:29:51 -08:00
Kano
138465bf0c
Pool store data transfer stats
2012-12-13 00:56:10 +11:00
Kano
f3f8b4fdb4
MMQ handle over temp differently and hash longer
2012-12-12 17:01:28 +11:00
Con Kolivas
b28055517e
Implement a completely new getwork scheduler.
...
Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated.
Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue.
Remove all remnants of the old queueing mechanism, deleting the now defunct queued count.
2012-12-08 21:13:04 +11:00
Con Kolivas
c99636f21b
Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads.
2012-12-07 13:21:46 +11:00
Con Kolivas
8ebf4f6ecd
Style changes.
2012-12-04 21:52:41 +11:00
Kano
e55fe73f9a
API add Best Share to summary
2012-12-03 23:08:11 +11:00
Kano
a67e96c3e4
API lock access to some summary statistics (and copy them)
2012-12-03 11:36:15 +11:00
Kano
152e7e36a2
mmq usb v0.4 + api usb stats
2012-12-02 21:48:37 +11:00
Con Kolivas
3ab03e8ff9
Merge pull request #334 from denis2342/pkgconfig
...
third of version of pkg-config changes
2012-12-02 01:41:03 -08:00
Con Kolivas
33c9faae11
Pass ostate values around in scrypt to be able to extract full hashes if needed later on.
2012-12-01 21:47:27 +11:00
Peter Stuge
318ef85a9f
Require pkg-config to find libusb-1.0, and fix libusb.h #includes
2012-11-25 05:42:42 +01:00
Con Kolivas
8bc60506c5
Revert "Find libusb-1.0 with pkg-config except on mingw, and fix #include path"
...
This reverts commit ce72dbea7d7405ed37456c89c8b0516188f57fc7.
2012-11-25 09:47:26 +11:00
nelisky
c93e5e95cd
openwrt needs roundl
2012-11-24 13:11:46 -08:00
Con Kolivas
217be6ed98
Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash.
2012-11-25 00:37:46 +11:00
Con Kolivas
2d35ac2567
Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct.
...
Clear all work structs from the same place to ensure memory does not leak from arrays within the struct.
Convert the gbt coinbase and stratum strings within the work struct to heap ram.
This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
2012-11-24 10:47:20 +11:00
Peter Stuge
ce72dbea7d
Find libusb-1.0 with pkg-config except on mingw, and fix #include path
2012-11-21 19:56:05 +01:00
Con Kolivas
e55ef04df6
Revert "Find libusb-1.0 using pkg-config and correct the libusb.h #include path"
...
This reverts commit 171c3d0c72e749bc9d82a6742955119decf7b09c.
Rollback breakage.
2012-11-18 23:44:08 +11:00
Con Kolivas
9ad02fe303
Support workid for block submission on GBT pools that use it.
2012-11-18 21:48:44 +11:00
Peter Stuge
171c3d0c72
Find libusb-1.0 using pkg-config and correct the libusb.h #include path
2012-11-16 00:26:55 +01: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
Con Kolivas
598ee76d37
Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining.
2012-11-11 09:51:37 +11:00
Con Kolivas
6893c0be43
Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template.
2012-11-07 23:28:49 +11:00
Con Kolivas
a8e1ebb11c
Add endian swap defines for where missing.
2012-11-06 12:01:49 +11:00
Con Kolivas
10ea5fbf97
Use existing pool submit_old bool from gbt data.
2012-11-05 16:57:48 +11:00
Con Kolivas
f71b423080
Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive.
2012-11-05 16:48:19 +11:00
Con Kolivas
85f400bf80
Correct last few components of GBT block generation courtesy of Luke-jr.
2012-11-05 15:57:47 +11:00
Con Kolivas
a4e78be1ed
Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose.
2012-11-05 14:56:57 +11:00
Con Kolivas
0ba5f0f94b
Use a standard function for flipping bytes.
2012-11-05 14:02:43 +11:00
Con Kolivas
88b6f7924c
Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission.
2012-11-04 18:01:09 +11:00
Con Kolivas
889ed23934
Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
2012-11-04 15:28:13 +11:00
Con Kolivas
6b34faf83c
Construct block for submission when using GBT.
2012-11-04 10:24:09 +11:00
Con Kolivas
c5c5fb8273
Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
2012-11-04 08:35:50 +11:00
Con Kolivas
875ca0fcc6
Create extra work fields when generating GBT work.
2012-11-04 01:07:01 +11:00
Con Kolivas
cbc246eace
Generate the merkle root for gbt work generation.
2012-11-03 19:45:37 +11:00