Example #1
0
void
chksum_reph(gasnet_token_t token, 
	void *buf, size_t nbytes, gasnet_handlerarg_t iter) 
{
	gasnett_atomic_increment(&chksum_received, 0);
	assert_always(iter < chksum_iters && iter >= 0);
	assert_always(nbytes == CHKSUM_TOTAL);
	monoseed_trace(iter, _mseed[iter].seed, &_mseed[iter].chksum, buf);
	if (memcmp(&_mseed[iter].chksum, buf, CHKSUM_LENGTH) == 0) 
  	        gasnett_atomic_increment(&chksum_success, 0);
	else {
		printf("iter %3d failed! chksum_local=", (int)iter);
		CHKSUM_DUMP(&_mseed[iter].chksum);
		printf(" chksum_remote=");
		CHKSUM_DUMP(buf);
		printf("\n");
	}
	return;
}
Example #2
0
/*
 * Format is
 * AMRequestShort2(dest, chksum_reqh, i, seed)
 *
 * chksum_reqh(i, seed) generates the checksum and replies with a Medium
 *
 * AMReplyMedium(token, chksum_reph, src, nbytes, i)
 *
 * chksum_reph(i, src, nbytes) compares src[nbytes] to its copy of the
 * checksum at i
 */
void chksum_reqh(gasnet_token_t token, 
	gasnet_handlerarg_t iter, gasnet_handlerarg_t seed)
{
        unsigned char   chksum_reqbuf[CHKSUM_TOTAL];

	gasnett_atomic_increment(&chksum_received, 0);
	chksum_gen(seed, &chksum_reqbuf);
	monoseed_trace(iter, seed, &chksum_reqbuf, NULL);
	GASNET_Safe( 
	    gasnet_AMReplyMedium1(token, 202, &chksum_reqbuf, 
	        CHKSUM_TOTAL, iter));
	return;
}
Example #3
0
void pong_longhandler(gasnet_token_t token, void *buf, size_t nbytes,
                     gasnet_handlerarg_t iter, gasnet_handlerarg_t chunkidx) {
  INIT_CHECKS();
  validate_chunk("Long Reply", buf, nbytes, iter, chunkidx);
  gasnett_atomic_increment(&pong_recvd,0);
}
Example #4
0
void ping_longhandler(gasnet_token_t token, void *buf, size_t nbytes) {
  gasnett_atomic_increment(&amcount,0);
}
Example #5
0
void ping_shorthandler(gasnet_token_t token) {
  gasnett_atomic_increment(&amcount,0);
}