void MiniBeeV2::read() { incoming = Serial.read(); if(escaping) { //escape set if((incoming == ESC_CHAR) || (incoming == DEL_CHAR) || (incoming == CR)) { //escape to integer if ( msg_type != S_NO_MSG ){ // only add if message type set message[byte_index] = incoming; byte_index++; } } else { //escape to char msg_type = incoming; } escaping = false; } else { //escape not set if(incoming == ESC_CHAR) { escaping = true; } else if(incoming == DEL_CHAR) { //end of msg message[byte_index] = '\0'; // null-termination routeMsg(msg_type, message, byte_index); //route completed message msg_type = S_NO_MSG; byte_index = 0; //reset buffer index } else { if ( msg_type != S_NO_MSG ){ // only add if message type set message[byte_index] = incoming; byte_index++; } } } }
void rice::pastry::testing::RegrTestApp::sendTrace(::rice::pastry::Id* nid) { routeMsg(nid, new RTMessage(addr_, getNodeHandle(), nid), new ::rice::pastry::routing::SendOptions()); }