Exemplo n.º 1
0
void liveViz0Deposit(const liveVizRequest &req,byte * imageData)
{
  int len=req.wid*req.ht*config.getNetworkBytesPerPixel();
  if (config.getVerbose(2))
    CmiPrintf("CCS getImage> Reply for (%d x %d) pixel or %d byte image.\n",
	      req.wid,req.ht,len);
  switch (req.compressionType) {
    case liveVizRequest::compressionNone: /* send uncompressed pixels */
      CcsSendDelayedReply(req.replyToken, len, imageData);
      break;
#if CMK_USE_LIBJPEG && !defined(__CYGWIN__)
    case liveVizRequest::compressionJPEG: { /* JPEG-compress the data */
      std::string data=JPEGcompressImage(req.wid,req.ht,
                config.getNetworkBytesPerPixel(),imageData,
		req.compressionQuality);
      CcsSendDelayedReply(req.replyToken, data.size(), &data[0]);
      break;
    }
#endif
    case liveVizRequest::compressionRunLength:
        {
            std::string data;
            for(int i=0; i<req.ht*req.wid;)
            {
                int j=i;
                while(imageData[j]==imageData[i]&&i-j<255&&i<req.ht*req.wid)
                    i++;
                data.push_back((char)((i-j)&0xff));
                data.push_back(imageData[j]);
            }
            CcsSendDelayedReply(req.replyToken, data.size(), &data[0]);
        }
        break;
    default:
      CkError("liveViz0.C WARNING: Ignoring liveViz client's unrecognized compressionType %d\n",req.compressionType);
      CcsSendDelayedReply(req.replyToken, 0, 0);
  };
}
Exemplo n.º 2
0
static void CpdDebugReturnAllocationTree(void *tree) {
  pup_er sizer = pup_new_sizer();
  char *buf;
  pup_er packer;
  int i;
  CpdDebug_pupAllocationPoint(sizer, tree);
  buf = (char *)malloc(pup_size(sizer));
  packer = pup_new_toMem(buf);
  CpdDebug_pupAllocationPoint(packer, tree);
  /*CmiPrintf("size=%d tree:",pup_size(sizer));
  for (i=0;i<100;++i) CmiPrintf(" %02x",((unsigned char*)buf)[i]);
  CmiPrintf("\n");*/
  CcsSendDelayedReply(CpvAccess(allocationTreeDelayedReply), pup_size(sizer),buf);
  pup_destroy(sizer);
  pup_destroy(packer);
  free(buf);
}
Exemplo n.º 3
0
static void CpdDebugReturnMemStat(void *stat) {
#if CMK_CCS_AVAILABLE
  pup_er sizerNet = pup_new_network_sizer();
  pup_er sizer = pup_new_fmt(sizerNet);
  char *buf;
  pup_er packerNet;
  pup_er packer;
  int i;
  CpdDebug_pupMemStat(sizer, stat);
  buf = (char *)malloc(pup_size(sizer));
  packerNet = pup_new_network_pack(buf);
  packer = pup_new_fmt(packerNet);
  CpdDebug_pupMemStat(packer, stat);
  /*CmiPrintf("size=%d tree:",pup_size(sizer));
  for (i=0;i<100;++i) CmiPrintf(" %02x",((unsigned char*)buf)[i]);
  CmiPrintf("\n");*/
  CcsSendDelayedReply(CpvAccess(memStatDelayedReply), pup_size(sizer),buf);
  pup_destroy(sizerNet);
  pup_destroy(sizer);
  pup_destroy(packerNet);
  pup_destroy(packer);
  free(buf);
#endif
}
Exemplo n.º 4
0
void CpdSearchLeaksDone(void *msg) {
  CmiInt4 ok = 1;
  CcsSendDelayedReply(CpvAccess(leakSearchDelayedReply), 4, &ok);
  CmiFree(msg);
}