optimize for checksum
[charm.git] / tests / util / headerpad.C
1 #include <stdio.h>
2
3
4 #include "headerpad.h"
5 /*readonly*/ CProxy_main mainProxy;
6 main::main(CkArgMsg *m) {
7     delete m;
8     mainProxy=thishandle;
9     CmiPrintf("Info: converse header: %d envelope: %d\n", CmiReservedHeaderSize, sizeof(envelope));
10     // make a message with 1 payload
11     testMsg *msg = new testMsg;
12     // get pointer to envelope header
13     unsigned char *env= (unsigned char*) UsrToEnv(msg);
14     unsigned char *hdr= (unsigned char*) msg;
15     hdr-=sizeof(envelope);
16     hdr-=CmiReservedHeaderSize;
17     // output converse header field by field
18     
19     // output converse header byte by byte
20     CkPrintf("CmiHeader\n");
21     for(int i=0;i<CmiReservedHeaderSize;i++)
22       CkPrintf("%03u|",hdr[i]);
23     CkPrintf("\n");
24     CkPrintf("Envelope\n");
25     for(int i=0;i<sizeof(envelope);i++)
26       CkPrintf("%03u|",env[i]);
27     CkPrintf("\n");
28     mainProxy.recv(msg);
29   }
30 void main::recv(testMsg *msg)
31 {
32   CkPrintf("message as received\n");
33     // get pointer to envelope header
34     unsigned char *env= (unsigned char*) UsrToEnv(msg);
35     unsigned char *hdr= (unsigned char*) msg;
36     hdr-=sizeof(envelope);
37     hdr-=CmiReservedHeaderSize;
38     // output converse header field by field
39     
40     // output converse header byte by byte
41     CkPrintf("CmiHeader\n");
42     for(int i=0;i<CmiReservedHeaderSize;i++)
43       CkPrintf("%03u|",hdr[i]);
44     CkPrintf("\n");
45     CkPrintf("Envelope\n");
46     for(int i=0;i<sizeof(envelope);i++)
47       CkPrintf("%03u|",env[i]);
48     CkPrintf("\n");
49     CkExit();
50 }
51
52 #include "headerpad.def.h"