Esempio n. 1
0
void MorseTextChannel::whenChatMessageReceived(uint senderHandle, const QString &message, quint32 messageId, quint32 flags, uint timestamp)
{
#if TP_QT_VERSION >= TP_QT_VERSION_CHECK(0, 9, 7)
    const QString identifier = m_groupIface->memberIdentifiers().value(senderHandle);
    processReceivedMessage(senderHandle, identifier, message, messageId, flags, timestamp);
#endif
}
Esempio n. 2
0
//processes all currently pending messages
//shouldn't process new pending messages if they are added while processing the current ones
void processAllPending() {
  if (numPacketsPendingProcessing == 0) {
    return;
  }     
  
  while (numPacketsPendingProcessing > 0) { 
    processReceivedMessage(removeProcessPendingMsg());
  }
}
void connectToServerAsWorker() {
    int sockfd, n;
    const int BUFFER_SIZE = 1024;
    char buffer[BUFFER_SIZE];
    struct sockaddr_in serv_addr;
    struct hostent *server;

    printf("[connectToServerAsWorker] Connecting to %s:%d\n", serverHost, serverPort);
    fflush(stdout);

    /* Set up socket stuff */
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0) {
        error("[connectToServerAsWorker] ERROR opening socket");
        printf("[connectToServerAsWorker] ERROR opening socket");
        fflush(stdout);
    }

    server = gethostbyname(serverHost);
    if (server == NULL) {
        fprintf(stderr,"[connectToServerAsWorker] ERROR, no such host\n");
        printf("[connectToServerAsWorker] ERROR, no such host\n");
        exit(0);
    }

    bzero((char *) &serv_addr, sizeof(serv_addr));

    serv_addr.sin_family = AF_INET;

    bcopy((char *)server->h_addr,
          (char *)&serv_addr.sin_addr.s_addr,
          server->h_length);

    serv_addr.sin_port = htons(serverPort);

    /* Try to connect to server listening on host/port */
    if (connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) < 0) {
        error("[connectToServerAsWorker] ERROR connecting");
        printf("[connectToServerAsWorker] ERROR connecting\n");
        fflush(stdout);
    }

    bzero(buffer,BUFFER_SIZE);

    bool shutdown = false;

    printf("[connectToServerAsWorker] Connected!!\n");

    while(!shutdown && read(sockfd,buffer,BUFFER_SIZE-1)) {
        shutdown = processReceivedMessage(buffer, BUFFER_SIZE-1, sockfd);
        bzero(buffer,BUFFER_SIZE);
    }

    printf("[connectToServerAsWorker] Shutting down...\n");

}
Esempio n. 4
0
void RTTeensyLink::background()
{
    while (Serial.available()) {
        if (!RTTeensyLinkReassemble(&(m_RXFrame), Serial.read())) {
            sendDebugMessage("Reassembly error");
        } else {
            if (m_RXFrame.complete) {
                processReceivedMessage();
                RTTeensyLinkRXFrameInit(&(m_RXFrame), &(m_RXFrameBuffer));
            }
        }
    }
}
void RTArduLink::background()
{
    unsigned char index;
    RTARDULINK_PORT *portInfo;

    for (index = 0; index < RTARDULINKHAL_MAX_PORTS; index++) {
        portInfo = m_ports + index;
        if (!portInfo->inUse)
            continue;

        while (RTArduLinkHALPortAvailable(&(portInfo->portHAL))) {
            if (!RTArduLinkReassemble(&(portInfo->RXFrame), RTArduLinkHALPortRead(&(portInfo->portHAL)))) {
                sendDebugMessage("Reassembly error");
            } else {
                if (portInfo->RXFrame.complete) {
                    processReceivedMessage(portInfo);
                    RTArduLinkRXFrameInit(&(portInfo->RXFrame), &(portInfo->RXFrameBuffer));
                }
            }
        }
    }
}
Esempio n. 6
0
void MorseTextChannel::whenMessageReceived(const QString &message, quint32 messageId, quint32 flags, uint timestamp)
{
    processReceivedMessage(m_targetHandle, m_targetID, message, messageId, flags, timestamp);
}