Ejemplo n.º 1
0
void CPCRCHelloState::onLoginSignal(CData &data)
{
    CLog::instance()->log(CLog::msgLvlInfo,_("Sending login request to root server.\n"));
    CData request;
    request.wrt((ireon::net::commandId)ireon::net::rspcCodes::scHelloLogin);
    request.append(data.data(), data.length());
    m_ownerConnection->write(request);
}
Ejemplo n.º 2
0
void CPCRCHelloState::onSendVersionSignal(CData &data)
{
    CData versionData;
    char clientVersion[] = {PRODUCT_VERSION};
    for (int i = 0; i < 4; i++)
        versionData << clientVersion[i];
    CLog::instance()->log(CLog::msgFlagNetwork, CLog::msgLvlInfo,_("Initiating version negotiation.\n"));
    CData request;
    request.wrt((ireon::net::commandId)ireon::net::rspcCodes::scCheckVersion);
    request.write(versionData.data(), versionData.length());
    m_ownerConnection->write(request);
};
Ejemplo n.º 3
0
void CNetConnection::processCommand(ireon::net::commandId id, CData& data, netAddress fromAddress)
{
    if (fromAddress.m_type == netAddress::atInternalAddress)
        CLog::instance()->log(CLog::msgFlagNetwork,CLog::msgLvlDebug,_("Received internal packet. Id = %d.\n"),id);
    else
        CLog::instance()->log(CLog::msgFlagNetwork,CLog::msgLvlDebug,_("Received packet. Id = %d.\n"),id);

    if( !processSignal(id, fromAddress, data) )
    {
        if (fromAddress.m_type == netAddress::atExternalAddress)
        {
            CData response;
            response.wrt((ireon::net::commandId) ireon::net::rcCommandNotFound);
            response << id;
            write(response);
        }
        CLog::instance()->log(CLog::msgLvlError,_("Can't process packet. Contents:\n"));
        CLog::instance()->dump(CLog::msgLvlError,data.data(),data.length());
    }
    return;
};