Browse Source

SSM: Refactor _ssm_gen_dummy_work to work with struct stratum_work instead of struct stratumsrv_job

Luke Dashjr 12 years ago
parent
commit
f3971a8de6
1 changed files with 9 additions and 9 deletions
  1. 9 9
      driver-stratum.c

+ 9 - 9
driver-stratum.c

@@ -68,18 +68,18 @@ struct stratumsrv_conn {
 static struct stratumsrv_conn *_ssm_connections;
 
 static
-void _ssm_gen_dummy_work(struct work *work, struct stratumsrv_job *ssj, const char * const extranonce2, uint32_t xnonce1)
+void _ssm_gen_dummy_work(struct work * const work, struct stratum_work * const swork, const struct timeval * const tvp_prepared, const char * const extranonce2, const uint32_t xnonce1)
 {
 	uint8_t *p, *s;
 	
 	*work = (struct work){
-		.pool = ssj->swork.pool,
-		.work_restart_id = ssj->swork.work_restart_id,
-		.tv_staged = ssj->tv_prepared,
+		.pool = swork->pool,
+		.work_restart_id = swork->work_restart_id,
+		.tv_staged = *tvp_prepared,
 	};
-	bytes_resize(&work->nonce2, ssj->swork.n2size);
+	bytes_resize(&work->nonce2, swork->n2size);
 	s = bytes_buf(&work->nonce2);
-	p = &s[ssj->swork.n2size - _ssm_client_xnonce2sz];
+	p = &s[swork->n2size - _ssm_client_xnonce2sz];
 	if (extranonce2)
 		hex2bin(p, extranonce2, _ssm_client_xnonce2sz);
 #ifndef __OPTIMIZE__
@@ -90,7 +90,7 @@ void _ssm_gen_dummy_work(struct work *work, struct stratumsrv_job *ssj, const ch
 	memcpy(p, &xnonce1, _ssm_client_octets);
 	if (p != s)
 		memset(s, '\xbb', p - s);
-	gen_stratum_work2(work, &ssj->swork);
+	gen_stratum_work2(work, swork);
 }
 
 static
@@ -153,7 +153,7 @@ bool stratumsrv_update_notify_str(struct pool * const pool, bool clean)
 	
 	if (likely(_ssm_cur_job_work.pool))
 		clean_work(&_ssm_cur_job_work);
-	_ssm_gen_dummy_work(&_ssm_cur_job_work, ssj, NULL, 0);
+	_ssm_gen_dummy_work(&_ssm_cur_job_work, &ssj->swork, &ssj->tv_prepared, NULL, 0);
 	
 	_ssm_notify_sz = p - buf;
 	assert(_ssm_notify_sz <= bufsz);
@@ -414,7 +414,7 @@ void stratumsrv_mining_submit(struct bufferevent *bev, json_t *params, const cha
 	
 	// Generate dummy work
 	work = &_work;
-	_ssm_gen_dummy_work(work, ssj, extranonce2, *xnonce1_p);
+	_ssm_gen_dummy_work(work, &ssj->swork, &ssj->tv_prepared, extranonce2, *xnonce1_p);
 	
 	// Submit nonce
 	hex2bin(&work->data[68], ntime, 4);