Пример #1
0
		void start() {
			CkPrintf("[chare=%d,pe=%d]: %d: start called\n", 
					getuChareSet()->getId(), getuChareSet()->getPe(), getId());
			//doPing((getId() + 1) % N_uChares, 100);

			if (getId() == 0)
				for (int i = 1; i < N_uChares; i++)
					doPing((getId() + i) % N_uChares, 100);
		}
Пример #2
0
void TCParser::_parsePing(const std::vector<std::string> &args)
{
	if (args.size() != 2)
    {
		_parserError(tcrec_cmd_ping, "Bad ping argument");
        return;
    }
	
	doPing(args[0], args[1]);
}
Пример #3
0
bool http_servlet::doWebsocket(acl::HttpServletRequest& req,
	acl::HttpServletResponse&)
{
	acl::socket_stream& ss = req.getSocketStream();
	acl::websocket in(ss), out(ss);

	while (true)
	{
		if (in.read_frame_head() == false)
		{
			printf("read_frame_head error\r\n");
			return false;
		}

		bool ret;
		unsigned char opcode = in.get_frame_opcode();

		printf("opcode: 0x%x\r\n", opcode);

		switch (opcode)
		{
		case acl::FRAME_PING:
			ret = doPing(in, out);
			break;
		case acl::FRAME_PONG:
			ret = doPong(in, out);
			break;
		case acl::FRAME_CLOSE:
			ret = doClose(in, out);
			break;
		case acl::FRAME_TEXT:
		case acl::FRAME_BINARY:
			ret = doMsg(in, out);
			break;
		case acl::FRAME_CONTINUATION:
			ret = false;
			break;
		default:
			ret = false;
			break;
		}

		if (ret == false)
			return false;
	}

	// XXX: NOT REACHED
	return false;
}