예제 #1
0
void TWebTxtBs::ReportStatus(){
  SendToNotifyAndTrm(GetStatusStr());
}
예제 #2
0
int RpcDbgDumpPktState(RpcOutputContext_t *c, int *offset, int maxlimit)
{
	int i, k, ret = 0, limit = 0;

	if (!offset || *offset >= MAX_RPC_PACKETS || *offset < 0 || !gRpcDbgPktStatusList)
		return 0;

	if (*offset == 0) {
		RpcDbgDumpStr(c,
		      "\n************** RPC PKT State Begin ***********\n");
	}

	for (i = (*offset); i < MAX_RPC_PACKETS; i++) {
		*offset = i;

		if (maxlimit > 0 && (++limit > maxlimit))
			return -1;

		if (gRpcDbgPktStatusList[i].pktHandle != 0) {

			ret =
			    RpcDbgDumpStr(c,
					"pkt:%d TS:%u:%u status:%s itype:%d \
					c1=%d c2=0x%x\n",
					  (unsigned int)
					  gRpcDbgPktStatusList[i].pktHandle,
					  (unsigned int)
					  gRpcDbgPktStatusList[i].ts.tv_sec,
					  (unsigned int)
					  gRpcDbgPktStatusList[i].ts.tv_usec,
					  GetStatusStr(gRpcDbgPktStatusList[i].
						       status),
					  (int)gRpcDbgPktStatusList[i].itype,
					  (int)gRpcDbgPktStatusList[i].context1,
					  (int)gRpcDbgPktStatusList[i].context2);

			if (ret != 0)
				return ret;

			for (k = 0; k < MAX_CID; k++) {
				if (gRpcDbgPktStatusList[i].cidList[k].status !=
				    0) {
					ret =
					    RpcDbgDumpStr(c,
							  "\tcid:%d TS:%u:%u status:%s\n",
							  gRpcDbgPktStatusList
							  [i].cidList[k].cid,
							  (unsigned int)
							  gRpcDbgPktStatusList
							  [i].cidList[k].ts
								.tv_sec,
							  (unsigned int)
							  gRpcDbgPktStatusList
							  [i].cidList[k].ts
								.tv_usec,
							  GetStatusStr
							  (gRpcDbgPktStatusList
							   [i].cidList[k].
							   status));

					if (ret != 0)
						return ret;
				}
			}
		} else
			break;