Exemple #1
0
Contract::Contract(string spName)
{
	memset(debug,0,16);
	sprintf_s(debug,16,"ContractObject");
    this->spName = spName;
	InitializeCriticalSection(&cs);
	this->commodity = Commodity::findFor(spName);
	//TRACE_LOG("commodity findfor ok");
	orderCount = 0;
	if(this->isDomestic()) {
		TRACE_LOG("enter isDomestic part");
		fixName = "";
	    ronhonName = "";
		patsapiName = "";
	} else {
		//TRACE_LOG("begin getRonhonNameFor");
	    fixName = KnownContract::getFixNameFor(spName);
	    ronhonName = KnownContract::getRonhonNameFor(spName);
		patsapiName =  KnownContract::getPatsApiNameFor(spName);
		TRACE_LOG("spName = %s", spName.c_str());
		TRACE_LOG("patsapiName = %s", patsapiName.c_str());
	}
}
Exemple #2
0
void Contract::loadOrderCount()
{
	TRACE_LOG("loadOrderCount.");
	ifstream file(getDateFileName());
    if(file.fail()) {
		TRACE_LOG("Read %s fail",getDateFileName().c_str());
		openFile();
		return;
	}

	string contractName;
	while(!file.eof()) 
	{
		file >> contractName;
		if (contractName.length() > 1)
		{
			Contract * c = Contract::get(contractName);
			c->increaseOrderCount(1);
		}
	}
	file.close();
	openFile();
}
Exemple #3
0
int get_ranged_svr_list_callback(usr_info_t* p, uint8_t* body, uint32_t bodylen, int ret)
{
	//varify the respond data
    TRACE_LOG("get ranged callback");
	CHECK_VAL_GE(bodylen, sizeof(svr_list_t));

	svr_list_t* svrlist = reinterpret_cast<svr_list_t*>(body);

    //DEBUG_LOG("svrlist [%d %d]", svrlist->domain_id, svrlist->online_cnt);
	//chk if the pkg len is valid
	CHECK_VAL(bodylen, sizeof(svr_list_t) + svrlist->online_cnt * sizeof(svr_info_t)); 

    return send_ranged_svrlist(p, svrlist->svrs, svrlist->online_cnt);
}
Exemple #4
0
el::lib_tcp_peer_info_t* el_async::connect( const std::string& ip, uint16_t port )
{
	int fd = el::lib_tcp_t::connect(ip, port, 1, false, 
		g_bench_conf->get_page_size_max(),
		g_bench_conf->get_page_size_max());
	if (-1 == fd){
		ERROR_LOG("[ip:%s, port:%u]", ip.c_str(), port);
	}else{
		TRACE_LOG("[ip:%s, port:%u, fd:%u]", ip.c_str(), port, fd);
		return g_net_server->get_server_epoll()->add_connect(fd, el::FD_TYPE_SVR, ip.c_str(), port);
	}

	return NULL;
}
Exemple #5
0
/**
  * @brierf Send a request package to switch server, then get the respond, but do not parse it.
  * @param  uid. user id.
  * @param    friendcount. haw many friends.
  * @param    allfriendid. store the ids in an array
  * @return     int. 0 on success. less than 0 on error.
  */
int get_ranged_svr_list(usr_info_t* p, int start_id, int end_id)
{
    TRACE_LOG("enter get_ranged_svr_list");
    // pack up the request data
	int friendcount = 0;
    int idx = sizeof(svr_proto_t);
    taomee::pack_h(login_switch_sendbuf, static_cast<uint16_t>(0), idx);
    taomee::pack_h(login_switch_sendbuf, start_id, idx);
    taomee::pack_h(login_switch_sendbuf, end_id, idx);
    taomee::pack_h(login_switch_sendbuf, friendcount, idx);
    //taomee::pack(login_switch_sendbuf, allfriendid, friendcount * sizeof(userid_t), idx);
    init_switch_head(p, login_switch_sendbuf, idx, SWITCH_GET_RANGED_SVR_LIST);
    return send_to_switch(p, login_switch_sendbuf, idx);
}
Exemple #6
0
void opcode_loadb(void)
{
  uint8_t *address = z_mem + (uint16_t)(op[0] + (int16_t)op[1]);

  TRACE_LOG("Opcode: LOADB.\n");

  read_z_result_variable();

  if (address > active_z_story->static_memory_end)
  {
    TRACE_LOG("Static memory end: %x.\n", active_z_story->static_memory_end);
    TRACE_LOG("Trying to loadb from %x which is above static memory.\n",
        address);
    set_variable(z_res_var, 0, false);
  }
  else
  {
    TRACE_LOG("Loading from %x to var %x.\n",
        *address,
        z_res_var);
    set_variable(z_res_var, *address, false);
  }
}
Exemple #7
0
void* connector_callback(uint64_t conn, bool is_ok) {
    ERROR_LOG("收到连接器回调: %lld, 逻辑服务器为: %lld", conn, s_game_conn);
    if (conn == s_game_conn) {
        if (is_ok) {
            TRACE_LOG("连接器连接成功: %lld, 发起注册", conn);
            set_init_ok(true);
            regist_to_game();            
        } else {
            connect_gs();
        }
    }

    return NULL;
}
Exemple #8
0
// not used now.
void SpPriceSource::SPAccountLogout()
{
	char szAccountLogout[256];
	memset(szAccountLogout, 0, sizeof(szAccountLogout));
	
	//get AccountLogout msg
	strcat_s(szAccountLogout, 256, "3122,0,");
	strcat_s(szAccountLogout, 256, SPInvestorId);
	strcat_s(szAccountLogout, 256, "\r\n");
	//e.g. 3122,0,1000 <MessageId>,<MessageType>,<AccNo><cr><lf>

	if(1 != m_cTcpClinet.TCPSend(szAccountLogout))
		TRACE_LOG("SpPriceSource: send msg failed");
}
Exemple #9
0
int32_t fs_opr_t::connect(uint32_t address, int32_t port, const char* pswd, bool reconnect) {
    int32_t ret = IMS_FAIL_CONNECT;
    char ip[sizeof "255.255.255.255"];

    if (reconnect) {
        disconnect();
        ims_tool_t::inet_ntop(address, ip, sizeof "255.255.255.255");

        if (esl_connect(&_handle, ip, _port, NULL, _pswd) == ESL_SUCCESS) {
            TRACE_LOG("reconnect to FreeSWITCH [%s:%d] success", ip, _port);
            eval(RECORD_BASEDIR, _recordbase, LEN_256);
            ret = IMS_SUCCESS;
        } else {
            WARNING_LOG("reconnect to FreeSWITCH [%s:%d] failed(%s)", ip, _port, _handle.err);
        }
    } else {
        if (is_handle_valid()) {
            return IMS_SUCCESS;
        }

        strncpy(_pswd, pswd, LEN_16);
        _address = address;
        _port = port;

        ims_tool_t::inet_ntop(address, ip, sizeof "255.255.255.255");

        if (esl_connect(&_handle, ip, _port, NULL, _pswd) == ESL_SUCCESS) {
            TRACE_LOG("connect to FreeSWITCH [%s:%d] success", ip, _port);
            eval(RECORD_BASEDIR, _recordbase, LEN_256);
            ret = IMS_SUCCESS;
        } else {
            WARNING_LOG("connect to FreeSWITCH [%s:%d] failed(%s)", ip, _port, _handle.err);
        }
    }

    return ret;
}
Exemple #10
0
void RohonDealer::placeOrder(Order *order)
{
    int ref;
    //放入map中,执行相应动作,开启等待线程
    TRACE_LOG("RohonDealer::placeOrder, orderid:%s.",order->getId().c_str());
    if(!started)
    {
        TRACE_LOG("RohonDealer::placeOrder failed. RohonDealer not started.");
        order->setRejected();
        return;
    }
    //放入map中
    EnterCriticalSection(&cs);
    RohonDealerInventory* pInventory = addInventory(order);
    if(pInventory == NULL)
    {   //orderID与正在处理中的重复,要拒绝这次下单请求
        LeaveCriticalSection(&cs);
        TRACE_LOG("RohonDealer::placeOrder failed. orderID is duplicated.");
        //order->setRejected();
        return;
    }
    //分配localRef
    ref = pUserSpi->getCurOrderRef();
    pInventory->localRef = ref;
    LeaveCriticalSection(&cs);
    //执行下单动作
    if(0 != pUserSpi->InsertOrder(ref,order))
    {   //下单直接失败
        EnterCriticalSection(&cs);
        delInventory(pInventory);
        LeaveCriticalSection(&cs);
        TRACE_LOG("RohonDealer::placeOrder failed. 下单直接失败");
        order->setRejected();
        return;
    }
    return;
}
Exemple #11
0
int Gobang::handle_player_action(sprite_t* p, const uint8_t body[], int len)
{
	TRACE_LOG("Gobang Handle Player Action: uid=%u, grpid=%lu",
				p->id, m_gamegrp->id);

struct actpkg {
	uint32_t uid;
	Chess_Pos_Type row, col;
} __attribute__((__packed__));

	if ( started_check(p, len, sizeof(actpkg)) == -1 ) return -1;

	int i = 0;
	actpkg apkg;
	UNPKG_UINT(body, apkg.uid, i);
	UNPKG_UINT(body, apkg.row, i);
	UNPKG_UINT(body, apkg.col, i);
	if ( (p->id != apkg.uid) || (m_nxmover != apkg.uid) ) {
		ERROR_RETURN( ("UserID Mismatch, uid=%u, %u, %u",
						p->id, apkg.uid, m_nxmover), -1 );
	}

	REMOVE_TIMER(p, timerid);
	if ( place_chess(apkg.row, apkg.col) == -1 ) return -1;

	broadcast_action(body, p->id);
	++m_nsteps; // increase number of chesses placed

	std::vector<ChessCoord> adjchesses;
	if ( determine_winner(apkg.row, apkg.col, adjchesses) ) {
		notify_winner(p->id, adjchesses);
		m_nxmover = 0;
		send_game_score(p, 0, 1);

		DEBUG_LOG("Gobang Winner Determined\t[winner=%u]", p->id);
		return GER_end_of_game;
	} else if (draw()) {
		notify_winner(0);
		m_nxmover = 0;
		send_game_score(p, 2, 2);
		return GER_draw_game;
	}

	set_nxmover();
	sprite_t* op = get_sprite_from_gamegrp(m_nxmover, m_gamegrp);
	time_t exptm = time(0) + 62;
	timerid = ADD_TIMER_EVENT(op, on_timer_expire, 0, exptm);
	return 0;
}
void NokiaLinearVolumeItfCallback(XANokiaLinearVolumeItf /*caller*/,
                                  void* pContext,
                                  XAuint32 event,
                                  XAboolean /*eventBooleanData*/)
{
    switch (event) {
    case XA_NOKIALINEARVOLUME_EVENT_VOLUME_CHANGED:
        if (pContext)
            ((XARadioSessionImpl*)pContext)->VolumeChanged();
        break;
    default:
        TRACE_LOG((_L("NokiaLinearVolumeItfCallback: default")));
        break;
    }
}
void EngineObjectCallback(XAObjectItf /*caller*/,
                          const void */*pContext*/,
#ifdef PLUGIN_SYMBIAN_TRACE_ENABLED
                          XAuint32 event,
#else
                          XAuint32 /*event*/,
#endif /*PLUGIN_SYMBIAN_TRACE_ENABLED*/
                          XAresult /*result*/,
                          XAuint32 /*param*/,
                          void */*pInterface*/)
{
#ifdef PLUGIN_SYMBIAN_TRACE_ENABLED
    TRACE_LOG((_L("Engine object event: 0x%x\n"), (int)event));
#endif /*PLUGIN_SYMBIAN_TRACE_ENABLED*/
}
Exemple #14
0
/*---------------------------------------------------------------------*/
int32_t
filter_init(Brick *brick, Linker_Intf *li)
{
	TRACE_BRICK_FUNC_START();
	brick->private_data = calloc(1, sizeof(FilterContext));
	if (brick->private_data == NULL) {
		TRACE_LOG("Can't create private context "
			  "for filter\n");
		TRACE_BRICK_FUNC_END();
		return -1;
	}
	li->type = SHARE;
	TRACE_BRICK_FUNC_END();
	return 1;
}
Exemple #15
0
/*---------------------------------------------------------------------*/
int32_t
dup_init(Brick *brick, Linker_Intf *li)
{
	TRACE_BRICK_FUNC_START();
	brick->private_data = calloc(1, sizeof(linkdata));
	if (brick->private_data == NULL) {
		TRACE_LOG("Can't create private context "
			  "for duplicator\n");
		TRACE_BRICK_FUNC_END();
		return -1;
	}
	li->type = COPY;
	TRACE_BRICK_FUNC_END();
	return 1;
}
Exemple #16
0
int32_t fs_opr_t::play(const char* uuid, const char* file, uint32_t count) {
    FUNC_BEGIN();
    (void)szcmd;

    if (set_channel_attribute(uuid, "playback_terminators=none")
            && esl_execute(&_handle, "playback", file, uuid) == ESL_SUCCESS
            && is_result_ok(fs_resp = esl_event_get_header(_handle.last_sr_event, "Reply-Text"))) {
        ret = IMS_SUCCESS;
        TRACE_LOG("fs:play(%s,%s,%u) success.", uuid, file, count);
    } else {
        WARNING_LOG("fs:play(%s,%s,%u);ret(%s)", uuid, file, count, fs_resp);
    }

    FUNC_END();
}
Exemple #17
0
/**
 * Initialise VirtualBox's accelerated video extensions.
 *
 * @returns TRUE on success, FALSE on failure
 */
static Bool vboxSetupVRAMVbva(VBOXPtr pVBox)
{
    int rc = VINF_SUCCESS;
    unsigned i;

    pVBox->cbFBMax = pVBox->cbView;
    for (i = 0; i < pVBox->cScreens; ++i)
    {
        pVBox->cbFBMax -= VBVA_MIN_BUFFER_SIZE;
        pVBox->pScreens[i].aoffVBVABuffer = pVBox->cbFBMax;
        TRACE_LOG("VBVA buffer offset for screen %u: 0x%lx\n", i,
                  (unsigned long) pVBox->cbFBMax);
        VBoxVBVASetupBufferContext(&pVBox->pScreens[i].aVbvaCtx,
                                   pVBox->pScreens[i].aoffVBVABuffer,
                                   VBVA_MIN_BUFFER_SIZE);
    }
    TRACE_LOG("Maximum framebuffer size: %lu (0x%lx)\n",
              (unsigned long) pVBox->cbFBMax,
              (unsigned long) pVBox->cbFBMax);
    rc = VBoxHGSMISendViewInfo(&pVBox->guestCtx, pVBox->cScreens,
                               vboxFillViewInfo, (void *)pVBox);
    VBVXASSERT(RT_SUCCESS(rc), ("Failed to send the view information to the host, rc=%d\n", rc));
    return TRUE;
}
Exemple #18
0
int32_t fs_opr_t::unbridge(const char* uuid) {
    FUNC_BEGIN();
    snprintf(szcmd, LEN_512, CMD_UNBRIDGE_FMT, uuid);
    TRACE_LOG("unbridge(%s)", szcmd);

    if (esl_send_recv(&_handle, szcmd) == ESL_SUCCESS) {
        if (is_result_ok(fs_resp = esl_event_get_body(_handle.last_sr_event))) {
            ret = IMS_SUCCESS;
        } else {
            WARNING_LOG("fs:unbridge(%s);ret(%s)", uuid, fs_resp);
        }
    }

    FUNC_END();
}
Exemple #19
0
/**
 * @brief  Team member fatch reward callback
 */
int db_team_member_reward_callback(player_t *p, userid_t uid, void *body, uint32_t bodylen, uint32_t ret)
{
    CHECK_DBERR(p, ret);
    uint32_t win_stage = 0, item_cnt = 0; ////1:taotai 2:contest
    int idx = 0;
    taomee::unpack_h(body, win_stage, idx);
    taomee::unpack_h(body, item_cnt, idx);
    TRACE_LOG("team member reward [%u] [%u]",uid, item_cnt);
    CHECK_VAL_EQ(bodylen, item_cnt * sizeof(pack_item_info_t) + 8); 

    idx = sizeof(cli_proto_t);
    taomee::pack(pkgbuf, item_cnt, idx);
    pack_item_info_t* item_unit = reinterpret_cast<pack_item_info_t*>((uint8_t*)body + 8);
    for (uint32_t i = 0; i < item_cnt; i++) {
        taomee::pack(pkgbuf, item_unit[i].item_id, idx);
        taomee::pack(pkgbuf, item_unit[i].item_cnt, idx);
        TRACE_LOG("team member reward [%u %u]", item_unit[i].item_id, item_unit[i].item_cnt);
    }
    init_cli_proto_head(pkgbuf, p, p->waitcmd, idx);
    send_to_player(p, pkgbuf, idx, 1); 

    add_swap_action_times(p, 1018 + win_stage);
    return 0;
}
Exemple #20
0
void CROHONTraderSpi::OnRspUserLogin(CRohonRspUserLoginField *pRspUserLogin, CRohonRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{

    if (bIsLast && !IsErrorRspInfo(pRspInfo))
    {
        // 保存会话参数
        FRONT_ID = pRspUserLogin->FrontID;
        SESSION_ID = pRspUserLogin->SessionID;
        iNextOrderRef = atoi(pRspUserLogin->MaxOrderRef);
        iNextOrderRef++;
        TRACE_LOG("[RohonDealer网关回调]用户登录成功: 交易日%s,前置编号%d,会话编号%d,报单引用%d.",
                  m_pDealer->pUserApi->GetTradingDay(),FRONT_ID,SESSION_ID,iNextOrderRef);
        ///投资者结算结果确认
        CRohonSettlementInfoConfirmField req;
        memset(&req, 0, sizeof(req));
        strcpy_s(req.InvestorID, 16, INVESTOR_ID);
        int iResult = m_pDealer->pUserApi->ReqSettlementInfoConfirm(&req, ++iRequestID);
        TRACE_LOG("[RohonDealer网关]发送结算请求: %s, %s.",INVESTOR_ID,((iResult == 0) ? "发送成功" : "发送失败"));
    }
    else
    {
        TRACE_LOG("[RohonDealer网关回调]用户登录失败.");
    }
}
Exemple #21
0
/**
 * Callback function called by the X server to tell us about dirty
 * rectangles in the video buffer.
 *
 * @param pScreen pointer to the information structure for the current
 *                screen
 * @param iRects  Number of dirty rectangles to update
 * @param aRects  Array of structures containing the coordinates of the
 *                rectangles
 */
static void
vboxHandleDirtyRect(ScrnInfoPtr pScrn, int iRects, BoxPtr aRects)
{
    VBVACMDHDR cmdHdr;
    VBOXPtr pVBox;
    int i;
    unsigned j;

    pVBox = pScrn->driverPrivate;
    if (pVBox->fHaveHGSMI == FALSE || !pScrn->vtSema)
        return;

    for (j = 0; j < pVBox->cScreens; ++j)
    {
        /* Just continue quietly if VBVA is not currently active. */
        struct VBVABUFFER *pVBVA = pVBox->aVbvaCtx[j].pVBVA;
        if (   !pVBVA
            || !(pVBVA->hostFlags.u32HostEvents & VBVA_F_MODE_ENABLED))
            continue;
        for (i = 0; i < iRects; ++i)
        {
            if (   aRects[i].x1 >   pVBox->aScreenLocation[j].x
                                  + pVBox->aScreenLocation[j].cx
                || aRects[i].y1 >   pVBox->aScreenLocation[j].y
                                  + pVBox->aScreenLocation[j].cy
                || aRects[i].x2 <   pVBox->aScreenLocation[j].x
                || aRects[i].y2 <   pVBox->aScreenLocation[j].y)
                continue;
            cmdHdr.x = (int16_t)aRects[i].x1;
            cmdHdr.y = (int16_t)aRects[i].y1;
            cmdHdr.w = (uint16_t)(aRects[i].x2 - aRects[i].x1);
            cmdHdr.h = (uint16_t)(aRects[i].y2 - aRects[i].y1);

#if 0
            TRACE_LOG("display=%u, x=%d, y=%d, w=%d, h=%d\n",
                      j, cmdHdr.x, cmdHdr.y, cmdHdr.w, cmdHdr.h);
#endif

            if (VBoxVBVABufferBeginUpdate(&pVBox->aVbvaCtx[j],
                                          &pVBox->guestCtx))
            {
                VBoxVBVAWrite(&pVBox->aVbvaCtx[j], &pVBox->guestCtx, &cmdHdr,
                              sizeof(cmdHdr));
                VBoxVBVABufferEndUpdate(&pVBox->aVbvaCtx[j]);
            }
        }
    }
}
Exemple #22
0
//send price request.
void SpPriceSource::SPPrcSnapReq(char * szInstrumentID)
{
	char szPrcSnapReq[256];
	memset(szPrcSnapReq, 0, sizeof(szPrcSnapReq));

	//get UserLogin msg
	strcat_s(szPrcSnapReq, 256, "4106,0,");
	strcat_s(szPrcSnapReq, 256, szInstrumentID);
	strcat_s(szPrcSnapReq, 256, "\r\n");
	//<MessageId>,<MessageType>,<ProductId><cr><lf> e.g.: 4106,0,HSIN8<cr><lf>

	//TRACE_LOG("SPPrcSnapReq: %s", szPrcSnapReq);
	if(1 != m_cTcpClinet.TCPSend(szPrcSnapReq))
		TRACE_LOG("SpPriceSource: send msg failed");

}
Exemple #23
0
/*---------------------------------------------------------------------*/
static int
report(lua_State *L, int status)
{
	TRACE_LUA_FUNC_START();

        if (status && !lua_isnil(L, -1)) {
                const char *msg = lua_tostring(L, -1);
                if (msg == NULL) msg = "(error object is not a string)";
		TRACE_LOG("%s", msg);
                lua_pop(L, 1);
        }

	TRACE_LUA_FUNC_END();

        return status;
}
Exemple #24
0
void CROHONTraderSpi::OnRspOrderInsert(CRohonInputOrderField *pInputOrder, CRohonRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
    TRACE_DEBUG("[RohonDealer网关回调]报单应答.");
    if(IsErrorRspInfo(pRspInfo))
    {
        TRACE_LOG("[RohonDealer网关回调]报单应答表明报单有错.");
        // 根据12月29日周杰测试中发现的问题(平今仓位不足),此处增加处理逻辑
        // 先判断报单是否本网关送出
        int ref = 0;
        ref = atoi(pInputOrder->OrderRef);
        if(ref > 0)
        {   // 判断为自己网关送出的报单
            m_pDealer->OnReturnRspOrderInsert(pInputOrder);
        }
    }
}
Exemple #25
0
int32_t fs_opr_t::conference_mute(const char* name, const char* member) {
    FUNC_BEGIN();

    snprintf(szcmd, LEN_512, "api conference %s mute %s\n\n", name, member);
    TRACE_LOG("conference_mute(%s)", szcmd);

    if (esl_send_recv(&_handle, szcmd) == ESL_SUCCESS) {
        if (is_result_ok(fs_resp = esl_event_get_body(_handle.last_sr_event))) {
            ret = IMS_SUCCESS;
        } else {
            WARNING_LOG("fs:conference_mute (%s,%s);ret(%s)", name, member, fs_resp);
        }
    }

    FUNC_END();
}
Exemple #26
0
void CROHONTraderSpi::OnRspOrderAction(CRohonInputOrderActionField *pInputOrderAction, CRohonRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
    TRACE_DEBUG("[RohonDealer网关回调]撤单应答.");
    if(IsErrorRspInfo(pRspInfo))
    {
        TRACE_LOG("[RohonDealer网关回调]撤单应答表明相应报单已撤或已成交.");
        //根据3月2日周杰使用中发现的问题(报单无回复情况下的撤单失败应该设置为撤单成功),此处增加处理逻辑
        // 先判断报单是否本网关送出
        int ref = 0;
        ref = atoi(pInputOrderAction->OrderRef);
        if(ref > 0)
        {   // 判断为自己网关送出的报单
            m_pDealer->OnReturnRspOrderAction(pInputOrderAction);
        }
    }
}
Exemple #27
0
int send_ranged_svrlist(usr_info_t* p, svr_info_t* svrs, uint32_t online_cnt)
{
	//make a response package to the flash client
	int idx = sizeof(cli_login_pk_header_t);
	taomee::pack(my_cli_buf, online_cnt, idx);
	for (uint32_t i = 0; i != online_cnt; ++i) {
		taomee::pack(my_cli_buf, svrs[i].id, idx);
		taomee::pack(my_cli_buf, svrs[i].users, idx);
		taomee::pack(my_cli_buf, svrs[i].ip, 16, idx);
		taomee::pack(my_cli_buf, svrs[i].port, idx);
		taomee::pack(my_cli_buf, svrs[i].friends, idx);
    	TRACE_LOG("online=[%u %u %16s %u %u]",svrs[i].id,svrs[i].users,svrs[i].ip,svrs[i].port,svrs[i].friends);
	}
	init_proto_head(my_cli_buf, idx, PROTO_GET_RANGED_SVR_LIST, p->uid, SUCCESS);
    return send_to_self(p, my_cli_buf, idx);
}
Exemple #28
0
int send_final_game_rank_list_to_player(player_t* p, uint32_t rank)
{
    int idx = sizeof(cli_proto_t);
    pack(pkgbuf, g_pvp_game_cache.rank[rank - 1].cnt, idx);
    for (uint32_t i = 0; i < g_pvp_game_cache.rank[rank - 1].cnt; i++) {
        final_game_score_t * score = &(g_pvp_game_cache.rank[rank - 1].score[i]);
        TRACE_LOG("PLAYER [%u %u %u] [%u]", score->userid, score->roletm, score->lv, score->score);

        pack(pkgbuf, score->userid, idx);
        pack(pkgbuf, score->nick, sizeof(score->nick), idx);
        pack(pkgbuf, score->lv, idx);
        pack(pkgbuf, score->score, idx);
    }
    init_cli_proto_head(pkgbuf, p, p->waitcmd, idx);
    return send_to_player(p, pkgbuf, idx, 1);
}
Exemple #29
0
gpgme_decrypt_result_t
gpgme_op_decrypt_result (gpgme_ctx_t ctx)
{
  void *hook;
  op_data_t opd;
  gpgme_error_t err;

  TRACE_BEG (DEBUG_CTX, "gpgme_op_decrypt_result", ctx);

  err = _gpgme_op_data_lookup (ctx, OPDATA_DECRYPT, &hook, -1, NULL);
  opd = hook;
  if (err || !opd)
    {
      TRACE_SUC0 ("result=(null)");
      return NULL;
    }

  if (_gpgme_debug_trace ())
    {
      gpgme_recipient_t rcp;

      if (opd->result.unsupported_algorithm)
	{
	  TRACE_LOG1 ("result: unsupported_algorithm: %s",
		      opd->result.unsupported_algorithm);
	}
      if (opd->result.wrong_key_usage)
	{
	  TRACE_LOG ("result: wrong key usage");
	}
      rcp = opd->result.recipients;
      while (rcp)
	{
	  TRACE_LOG3 ("result: recipient: keyid=%s, pubkey_algo=%i, "
		      "status=%s", rcp->keyid, rcp->pubkey_algo,
		      gpg_strerror (rcp->status));
	  rcp = rcp->next;
	}
      if (opd->result.file_name)
	{
	  TRACE_LOG1 ("result: original file name: %s", opd->result.file_name);
	}
    }

  TRACE_SUC1 ("result=%p", &opd->result);
  return &opd->result;
}
Exemple #30
0
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//A work thread to handle comming msgs from network
void receive_tcp( void* pParams )
{ 
    SpPriceSource *sPPriceSource = (SpPriceSource *) pParams;
	if (sPPriceSource == NULL) {
		TRACE_LOG(" err: sPPriceSource is NULL");
		return;
	}
	int len = 0;
	int code = 0;
	char szmsg[1024];

	while(1) {
		memset(szmsg, 0, sizeof(szmsg));
		len = sPPriceSource->m_cTcpClinet.TCPRecive(szmsg);
		
		if (len > 0)
		{
			code = sPPriceSource->DecodeMsgHead(szmsg);
			switch(code) {
			case MSGID_USER_LOGIN:
			case MSGID_USER_LOGOUT:
				sPPriceSource->DealUserLoadReply(szmsg);
				break;
			case MSGID_ACCOUNT_LOGIN:
			case MSGID_ACCOUNT_LOGOUT:
				sPPriceSource->DealAccountLoadReply(szmsg);
				break;
			case MSGID_PRC_SNAP_REQ:
				//TRACE_LOG("MSGID_PRC_SNAP_REQ %d, %s",MSGID_PRC_SNAP_REQ, szmsg);
				break;
			case MSGID_PRC_UPD_REQ:
				break;
			case MSGID_PRC_UPD_REL:
				break;
			case MSGID_UPDATED_PRICE:
				sPPriceSource->DealSnapPrice(szmsg);
				g_sendPriceReqlag = 0;
				break;
			default:
				break;
			}
		}else
			Sleep(500);

	}
	_endthread();
}