Con Kolivas
|
8be725bde6
|
Retry binding the connector to the socket for up to 2 minutes
|
11 years ago |
Con Kolivas
|
7f0824260b
|
Disconnect clients that send invalid json
|
11 years ago |
Con Kolivas
|
72ebb96ef6
|
Return a json response to any valid json from the stratifier to connector to send to the relevant connected client
|
11 years ago |
Con Kolivas
|
126c7964e2
|
Add a json parser to the stratum receiver that will generate return messages
|
11 years ago |
Con Kolivas
|
4f0379299a
|
Create new stratum instances for each new client id, adding them to a hashtable
|
11 years ago |
Con Kolivas
|
df64af6ce4
|
Add a stratum add sending function for adding messages to send to the linked list
|
11 years ago |
Con Kolivas
|
04c5de6ad0
|
Store the latest hash, noting when it changes to allow stratum clean notification
|
11 years ago |
Con Kolivas
|
080eef5f31
|
Send and receive stratum messages via their own threads that add and remove client ids to the json using linked lists and pthread conditionals to wake them
|
11 years ago |
Con Kolivas
|
e946665023
|
Create stratum receive/send threads that will use their own hashtables and conditionals to do work
|
11 years ago |
Con Kolivas
|
1b745f0db3
|
Pass recognised json messages sent to connector to stratifier with the added client_id field
|
11 years ago |
Con Kolivas
|
718bf11a46
|
Reference clients by id, not fd since fd can be the same and be invalidated
|
11 years ago |
Con Kolivas
|
5a0d3f8d24
|
Create a hashtable of workbases as they're created, removing them if they're older than 10 minutes old
|
11 years ago |
Con Kolivas
|
438f8c4472
|
Add the beginnings of a sanity checking client message parser
|
11 years ago |
Con Kolivas
|
f2b32839c1
|
Create a client instance hash table and use it to determine which fds need to be polled
|
11 years ago |
Con Kolivas
|
3c21f90aab
|
Use poll to connect many clients and see which connections need to be read in connector
|
11 years ago |
Con Kolivas
|
bcbafba42e
|
Create a thread from the connector process that listens for incoming connections and opens new connections for them
|
11 years ago |
Con Kolivas
|
55b8e8424a
|
Add connector process which will process all remote communications
|
11 years ago |
Con Kolivas
|
9e92be3f5e
|
Use a longer timeout for reading a socket line, along with a select timeout on each loop through the read function to increase reliability over network connections
|
11 years ago |
Con Kolivas
|
4ab9120e61
|
Handle failed generator startup as a fatal startup, sending listener a shutdown message and adding shutdown parsing
|
11 years ago |
Con Kolivas
|
2b1f9510cf
|
Add a block update thread that polls bitcoind regularly for the latest hash and handle failed json requests as closed sockets
|
11 years ago |
Con Kolivas
|
8f0958bbfb
|
Add some default parameters to make polling intervals configurable
|
11 years ago |
Con Kolivas
|
2bcdc4bcce
|
Cache the header binary that will be used for work reconstruction
|
11 years ago |
Con Kolivas
|
86159a60ec
|
Generate coinbase templates, fixing missing fields from gbt parser
|
11 years ago |
Con Kolivas
|
3cd82a5dd1
|
Validate pool address on starting generator
|
11 years ago |
Con Kolivas
|
4766e90df2
|
Left out nbit from parsing
|
11 years ago |
Con Kolivas
|
b65c555d87
|
Decode the generator response and store the variables in the stratifier
|
11 years ago |
Con Kolivas
|
bbd4e59069
|
Use the send recv proc helper in the stratifier process
|
11 years ago |
Con Kolivas
|
1953cd2935
|
Add helper functions for sending/receiving to a process instance
|
11 years ago |
Con Kolivas
|
a723e70f51
|
Remove signal handlers and use a watchdog thread to watch for dead child processes and restart them
|
11 years ago |
Con Kolivas
|
0d3d2434be
|
Use name for socket directory and add more config options
|
11 years ago |
Con Kolivas
|
6f1838536c
|
Create a stratifier thread that updates the data from the gbt template regularly and receives other requests
|
11 years ago |
Con Kolivas
|
945c730447
|
Add and test a getbase function of the generator process
|
11 years ago |
Con Kolivas
|
6f679e1cf4
|
Create the main read parse loop for the generator and send it a test message
|
11 years ago |
Con Kolivas
|
eb041c331f
|
Use a consistent method for sending/receiving messages across unix sockets
|
11 years ago |
Con Kolivas
|
0da6336602
|
Fix gbt base generation, be more flexible with reading lines from socket, and add gbtbase clearing function
|
11 years ago |
Con Kolivas
|
4c4246c8d4
|
Create basic connsock data and connect to socket in generator
|
11 years ago |
Con Kolivas
|
194c8e42f3
|
Begin parsing of a config file, storing btcd url, auth and pass
|
11 years ago |
Con Kolivas
|
15170c79d2
|
Original sighandlers don't actually come in useful here
|
11 years ago |
Con Kolivas
|
219c49817e
|
Install the signal handlers only for the master process and try to clean up in consistent fashion with handler
|
11 years ago |
Con Kolivas
|
f864e1176c
|
Install signal handlers and store the originals in the ckpool_t
|
11 years ago |
Con Kolivas
|
2f7f3ecad4
|
Store the pid in the proc instance structure and try to clean up on processes exiting
|
11 years ago |
Con Kolivas
|
10c2b48b4f
|
Rename processes and change generator function to suit pi model
|
11 years ago |
Con Kolivas
|
2c9653d138
|
Add a process structure to contain all variables likely to be used by spawned processes
|
11 years ago |
Con Kolivas
|
9544d280e3
|
Launch generator process and abstract out more of the per process files created
|
11 years ago |
Con Kolivas
|
e5d9d0a609
|
Use no global variables and append / to all directory names
|
11 years ago |
Con Kolivas
|
8a23b0bb28
|
Write the pid to a temporary file
|
11 years ago |
Con Kolivas
|
41bc9865c9
|
Begin basic main function parsing parameters, create a directory for sockets and create a listener thread
|
11 years ago |
Con Kolivas
|
4e99e282b9
|
Pass correct size for bind and connect
|
11 years ago |
Con Kolivas
|
1402039cc6
|
Don't show errno for logging lower than error
|
11 years ago |
Con Kolivas
|
b2805d2c49
|
Trim out values from the gbtbase structure that can't be exported as text and store the values required as strings and create a json structure out of the entries for export
|
11 years ago |