本文整理汇总了C++中sendData函数的典型用法代码示例。如果您正苦于以下问题:C++ sendData函数的具体用法?C++ sendData怎么用?C++ sendData使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sendData函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
void VoxelTerrain:: execute()
{
//pro vstupni cloud
// udelat octree
pcl::octree::OctreePointCloud<pcl::PointXYZI> oc (m_resolution);
oc.setInputCloud (m_baseCloud->get_Cloud());
oc.addPointsFromInputCloud ();
// zjistit vsechny voxely
std::vector<pcl::PointXYZI, Eigen::aligned_allocator<pcl::PointXYZI> > voxels;
oc.getOccupiedVoxelCenters(voxels);
// zjistit rozsah x y osy a podle toho hledat voxely ktere jsou nejníž
double x_max,x_min,y_max,y_min,z_min,z_max;
oc.getBoundingBox(x_min,y_min,z_min,x_max,y_max,z_max);
oc.deleteTree();
emit percentage( 20);
// z voxels udelat mracno bodu
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_voxels (new pcl::PointCloud<pcl::PointXYZI>);
cloud_voxels->points.resize(voxels.size());
#pragma omp parallel for
for(int r=0; r < voxels.size(); r++)
{
cloud_voxels->points.at(r) = voxels.at(r);
}
cloud_voxels->width = cloud_voxels->points.size ();
cloud_voxels->height = 1;
cloud_voxels->is_dense = true;
emit percentage( 40);
// spis boxsearch a pro kazdy voxel najit sousedy v danem boxu, pokud nenajde žadny bod niž než je on sam uložit jeho ID..
pcl::octree::OctreePointCloudSearch<pcl::PointXYZI> ocs (m_resolution);
ocs.setInputCloud (cloud_voxels);
ocs.addPointsFromInputCloud ();
std::vector< int > low_voxels;
for (int q =0; q < voxels.size(); q++)
{
std::vector< int > ind;
Eigen::Vector3f low(voxels.at(q).x-m_resolution/2, voxels.at(q).y-m_resolution/2,z_min);
Eigen::Vector3f high(voxels.at(q).x+m_resolution/2, voxels.at(q).y+m_resolution/2,voxels.at(q).z);
if(ocs.boxSearch(low,high,ind) <2)
{
if(ind.size() == 0)
continue;
// pokud jsou voxely vyskove pouze res od sebe
if(ind.size()==1)
low_voxels.push_back(q);
}
}
emit percentage( 80);
ocs.deleteTree();
// jeste by to chtelo trochu prefiltrovat aby byl opravdu jen voxely terenu
boost::shared_ptr<std::vector<int> > indicesptr (new std::vector<int> (low_voxels));
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_vege (new pcl::PointCloud<pcl::PointXYZI>);
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_terrain (new pcl::PointCloud<pcl::PointXYZI>);
pcl::ExtractIndices<pcl::PointXYZI> extract;
// Extract the inliers
extract.setInputCloud (cloud_voxels);
extract.setIndices (indicesptr);
extract.setNegative (false);
extract.filter (*cloud_terrain);
extract.setNegative (true);
extract.filter (*cloud_vege);
m_vegetation->set_Cloud(cloud_vege);
m_terrain->set_Cloud(cloud_terrain);
sendData();
emit percentage( 99);
}
示例2: sendData
void WebServer::HTTPResponse::sendData(const char* pData, size_t length) {
sendData((uint8_t*) pData, length);
} // sendData
示例3: rawName
/**
* \brief Store data record
*/
void Storage::storeDataRecord(struct metadata *mdata)
{
offset = 0;
record.clear();
record += "{\"@type\": \"ipfix.entry\", \"ipfix\": {";
struct ipfix_template *templ = mdata->record.templ;
uint8_t *data_record = (uint8_t*) mdata->record.record;
/* get all fields */
for (uint16_t count = 0, index = 0; count < templ->field_count; ++count, ++index) {
/* Get Enterprise number and ID */
id = templ->fields[index].ie.id;
length = templ->fields[index].ie.length;
enterprise = 0;
if (id & 0x8000) {
id &= 0x7fff;
enterprise = templ->fields[++index].enterprise_number;
}
/* Get element informations */
struct ipfix_element& element = elements[enterprise][id];
if (element.type == UNKNOWN && element.name.empty()) {
element.name = rawName(enterprise, id);
elements[enterprise][id] = element;
MSG_DEBUG(msg_module, "Unknown element (%s)", element.name.c_str());
}
if (count > 0) {
record += ", ";
}
record += "\"";
record += element.name;
record += "\": \"";
switch (element.type) {
case PROTOCOL:
record += translator.formatProtocol(read8(data_record + offset));
break;
case FLAGS:
record += translator.formatFlags(read16(data_record + offset));
break;
case IPV4:
record += translator.formatIPv4(read32(data_record + offset));
break;
case IPV6:{
READ_BYTE_ARR(addr6, data_record + offset, IPV6_LEN);
record += translator.formatIPv6(addr6);
break;}
case MAC: {
READ_BYTE_ARR(addrMac, data_record + offset, MAC_LEN);
record += translator.formatMac(addrMac);
break;}
case TSTAMP_SEC:
record += translator.formatTimestamp(read64(data_record + offset), t_units::SEC);
break;
case TSTAMP_MILLI:
record += translator.formatTimestamp(read64(data_record + offset), t_units::MILLISEC);
break;
case TSTAMP_MICRO:
record += translator.formatTimestamp(read64(data_record + offset), t_units::MICROSEC);
break;
case TSTAMP_NANO:
record += translator.formatTimestamp(read64(data_record + offset), t_units::NANOSEC);
break;
case STRING:
readString(length, data_record, offset);
break;
case RAW:
readRawData(length, data_record, offset);
break;
default:
readRawData(length, data_record, offset);
break;
}
record += "\"";
offset += length;
}
/* Store metadata */
if (processMetadata) {
record += "}, \"metadata\": {";
storeMetadata(mdata);
}
record += "}}\n";
sendData();
}
示例4: while
INT32 _mongoSession::_reply( MsgOpReply *replyHeader,
const CHAR *pBody,
const INT32 len )
{
INT32 rc = SDB_OK ;
INT32 offset = 0 ;
mongoMsgReply reply ;
bson::BSONObjBuilder bob ;
bson::BSONObj bsonBody ;
reply.header.id = 0 ;
reply.header.responseTo = replyHeader->header.requestID ;
reply.header.opCode = dbReply ;
reply.header._flags = 0 ;
reply.header._version = 0 ;
reply.header.reservedFlags = 0 ;
reply.cursorId = ( -1 == replyHeader->contextID ?
0 : replyHeader->contextID ) ;
reply.startingFrom = replyHeader->startFrom ;
if ( _converter->getParser().withCmd || _needReply )
{
reply.nReturned = replyHeader->numReturned > 0 ? replyHeader->numReturned : 1 ;
}
else
{
reply.nReturned = replyHeader->numReturned ;
}
if ( !_converter->getParser().withCmd && reply.nReturned > 0 )
{
while ( offset < len )
{
bsonBody.init( pBody + offset ) ;
_outBuffer.write( bsonBody.objdata(), bsonBody.objsize() ) ;
offset += ossRoundUpToMultipleX( bsonBody.objsize(), 4 ) ;
}
pBody = _outBuffer.data() ;
reply.header.len = sizeof( mongoMsgReply ) + _outBuffer.size() ;
}
else
{
if ( pBody )
{
bsonBody.init( pBody ) ;
if ( !bsonBody.hasField( "ok" ))
{
bob.append( "ok",
0 == replyHeader->flags ? TRUE : replyHeader->flags ) ;
bob.appendElements( bsonBody ) ;
pBody = bob.done().objdata() ;
reply.header.len = sizeof( mongoMsgReply ) + bob.done().objsize() ;
}
else
{
reply.header.len = sizeof( mongoMsgReply ) + len ;
}
}
else
{
bob.append( "ok", 1.0 ) ;
pBody = bob.done().objdata() ;
reply.header.len = sizeof( mongoMsgReply ) + bob.done().objsize() ;
}
}
rc = sendData( (CHAR *)&reply, sizeof( mongoMsgReply ) ) ;
if ( rc )
{
PD_LOG( PDERROR, "Session[%s] failed to send response header, rc: %d",
sessionName(), rc ) ;
goto error ;
}
if ( pBody )
{
rc = sendData( pBody, reply.header.len - sizeof( mongoMsgReply ) ) ;
if ( rc )
{
PD_LOG( PDERROR, "Session[%s] failed to send response body, rc: %d",
sessionName(), rc ) ;
goto error ;
}
}
bob.decouple() ;
done:
return rc ;
error:
goto done ;
}
示例5: sendData
void TM16XX::clearDisplay()
{
for (int i = 0; i < displays; i++) {
sendData(i << 1, 0);
}
}
示例6: grabNewEmails
void grabNewEmails() {
sendData(0, fillMessageData("mail", "receive", username), sizeof(Message));
getResponce(0);
}
示例7: deviceTransaction
//.........这里部分代码省略.........
length += 2;
}
computeCarrierDelays(idev->carrier, delays, loopCycles);
}
}
}
#ifdef LIBUSB_NO_THREADS_OPTION
if (idev->libusbNoThreads)
#endif
#ifdef LIBUSB_NO_THREADS
{
/* force the reader to give up the lock */
idev->needToWrite = true;
EnterCriticalSection(&idev->devLock);
idev->needToWrite = false;
}
#endif
/* flush any extraneous CTL_TODEV responses */
flushToDevResponsePackets(idev);
/* time the transfer */
then = microsSinceX();
result = interruptSend(idev->usbDev, msg, length,
idev->settings->sendTimeout);
/* error if we were not able to write ALL the data */
if (result != length)
printError(LOG_ERROR,
"failed to write control packet", idev->usbDev);
/* if there is more data need to transmit the data stream
before releasing the devLock */
else if (request->dataLen > sent &&
! sendData(idev,
request->data + sent, request->dataLen - sent,
idev->version < 3 && request->code == IG_DEV_SEND))
message(LOG_ERROR, "Failed to send IR data.\n");
/* if no ack is necessary then return success now */
else if (! type->ack)
retval = true;
else
{
int amount;
#ifdef LIBUSB_NO_THREADS_OPTION
if (idev->libusbNoThreads)
#endif
#ifdef LIBUSB_NO_THREADS
{
/* unlock as soon as possible after all data has been sent */
LeaveCriticalSection(&idev->devLock);
unlocked = true;
}
#endif
/* using sendTimeout to ensure reader has necessary time
to recieve the ack */
amount = notified(idev->responsePipe[READ],
idev->settings->sendTimeout);
if (amount < 0)
message(LOG_ERROR, "Failed to read control ack: %s\n",
translateError(errno));
else if (amount > 0)
{
dataPacket *pos;
示例8: sendData
void Serveur::leave(QString chan)
{
sendData(parseCommande("/part "+chan+ " "+msgQuit));
}
示例9: switch
void eDVBCISlot::process_tpdu(unsigned char tpdu_tag, __u8* data, int asn_data_length, int con_id)
{
switch (tpdu_tag)
{
case T_C_T_C_REPLY:
printf("Got CTC Replay (slot %d, con %d)\n", getSlotID(), connection_id);
tx_time.tv_sec = 0;
state = stateInserted;
//answer with data last (and if we have with data)
sendData(NULL, 0);
break;
case T_DELETE_T_C:
//FIXME: close sessions etc; reset ?
//we must answer here with t_c_replay
printf("Got \"Delete Transport Connection\" from module ->currently not handled!\n");
break;
case T_D_T_C_REPLY:
printf("Got \"Delete Transport Connection Replay\" from module!\n");
break;
case T_REQUEST_T_C:
printf("Got \"Request Transport Connection\" from Module ->currently not handled!\n");
break;
case T_DATA_MORE:
{
int new_data_length = receivedLen + asn_data_length;
printf("Got \"Data More\" from Module\n");
__u8 *new_data_buffer = (__u8*) realloc(receivedData, new_data_length);
receivedData = new_data_buffer;
memcpy(receivedData + receivedLen, data, asn_data_length);
receivedLen = new_data_length;
tx_time.tv_sec = 0;
break;
}
case T_DATA_LAST:
#ifdef x_debug
printf("Got \"Data Last\" from Module\n");
#endif
tx_time.tv_sec = 0;
/* single package */
if (receivedData == NULL)
{
printf("->single package\n");
#ifdef x_debug
printf("calling receiveData with data (len %d)> ", asn_data_length);
for (int i = 0;i < asn_data_length; i++)
printf("%02x ", data[i]);
printf("\n");
#endif
eDVBCISession::receiveData(this, data, asn_data_length);
eDVBCISession::pollAll();
}
else
{
/* chained package */
int new_data_length = receivedLen + asn_data_length;
printf("->chained data\n");
__u8 *new_data_buffer = (__u8*) realloc(receivedData, new_data_length);
receivedData = new_data_buffer;
memcpy(receivedData + receivedLen, data, asn_data_length);
receivedLen = new_data_length;
#ifdef x_debug
printf("calling receiveData with data (len %d)> ", asn_data_length);
for (int i = 0;i < receivedLen; i++)
printf("%02x ", receivedData[i]);
printf("\n");
#endif
eDVBCISession::receiveData(this, receivedData, receivedLen);
eDVBCISession::pollAll();
//fixme: must also be moved in e2 behind the data processing ;)
free(receivedData);
receivedData = NULL;
receivedLen = 0;
}
break;
case T_SB:
{
#ifdef x_debug
printf("Got \"SB\" from Module\n");
#endif
if (data[0] & 0x80)
{
printf("->data ready (%d)\n", getSlotID());
// send the RCV and ask for the data
unsigned char send_data[5];
send_data[0] = getSlotID();
send_data[1] = connection_id;
send_data[2] = T_RCV;
send_data[3] = 1;
send_data[4] = connection_id;
write(fd, send_data, 5);
gettimeofday(&tx_time, 0);
}
else
{
tx_time.tv_sec = 0;
}
//.........这里部分代码省略.........
示例10: switch
// move one servo at goal position 0 - 1024
void HerkulexClass::moveOne(int servoID, int Goal, int pTime, int iLed)
{
if (Goal > 1023 || Goal < 0) return; // speed (goal) non correct
if ((pTime <0) || (pTime > 2856)) return;
// Position definition
int posLSB=Goal & 0X00FF; // MSB Pos
int posMSB=(Goal & 0XFF00) >> 8; // LSB Pos
//led
int iBlue=0;
int iGreen=0;
int iRed=0;
switch (iLed) {
case 1:
iGreen=1;
break;
case 2:
iBlue=1;
break;
case 3:
iRed=1;
break;
}
int SetValue=iGreen*4+iBlue*8+iRed*16; //assign led value
playTime=int((float)pTime/11.2); // 8. Execution time
pSize = 0x0C; // 3.Packet size 7-58
cmd = HSJOG; // 5. CMD
data[0]=posLSB; // 8. speedLSB
data[1]=posMSB; // 9. speedMSB
data[2]=SetValue; // 10. Mode=0;
data[3]=servoID; // 11. ServoID
pID=servoID^playTime;
lenghtString=4; // lenghtData
ck1=checksum1(data,lenghtString); //6. Checksum1
ck2=checksum2(ck1); //7. Checksum2
pID=servoID;
dataEx[0] = 0xFF; // Packet Header
dataEx[1] = 0xFF; // Packet Header
dataEx[2] = pSize; // Packet Size
dataEx[3] = pID; // Servo ID
dataEx[4] = cmd; // Command Ram Write
dataEx[5] = ck1; // Checksum 1
dataEx[6] = ck2; // Checksum 2
dataEx[7] = playTime; // Execution time
dataEx[8] = data[0];
dataEx[9] = data[1];
dataEx[10] = data[2];
dataEx[11] = data[3];
sendData(dataEx, pSize);
}
示例11: throw
unsigned NetClient::sendString(const std::string &s) throw(const SocketException &)
{
return sendData(s.data(), s.length());
}
示例12: expanderReset
void expanderReset(void)
{
sendData(0xF);
}
示例13: sendData
int Client::sendData(SmartCom::string data)
{
return sendData(data.c_str());
}
示例14: if
void Irc::parse(QString raw) {
if (raw.startsWith(':'))
raw = raw.right(raw.length() - 1);
#ifdef COLOR_WIPE
QString xraw; int len = 0; int olen = raw.length();
// dirty but useful color removal code
do {
do {
if ( raw [len] == '\003' ) { // color, veo muuucho color
len += 2;
if ( raw [len].isNumber() ) len++;
if ( raw [len] == ',' && raw [len+1].isDigit() ) { // color, veo aúuuun más color
len += 2;
if ( raw [len].isNumber() ) len++;
}
} else if ( raw [len] == '\002' || raw [len] == '\026' || raw [len] == '\035' ) // blablalba
len++;
} while ( raw [len] == '\003' || raw [len] == '\002'|| raw [len] == '\026'||
raw [len] == '\035' ); // esto es una guarrada pero evita varios control codes consecutivos
xraw.append(raw[len]);
len++;
} while( len < olen );
raw = xraw;
#endif
QStringList matrix = raw.split(' ');
if( matrix[0] == "PING" ) { // Recibido ping, pongoneamos.
sendData("PONG " + matrix[1]);
emit PingPong();
} else if ( matrix[0] == "ERROR" ) { // error de conexion, whichever
emit connError(raw.right(raw.length() - 7)); //quita el "ERROR :" del principio y deja el msj limpio
} else if ( matrix[1] == "PRIVMSG" || matrix[1] == "NOTICE" ) {
QString nick = matrix[0].left(matrix[0].indexOf('!'));
QString message = raw.right((raw.length() - 2) - raw.indexOf(" :"));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" PRIVMSG") - nick.length()));
if ( matrix[1] == "PRIVMSG" ) {
if ( matrix[2].startsWith("#") ) { // mensaje de canal
if ( message.startsWith("\001") ) // /ctcp
if ( message.startsWith("\001ACTION ")) // me
emit chanme ( nick, mask, matrix[2], message.right((message.length() - 8)) );
else
emit chanctcp ( nick, mask, matrix[2], message.right((message.length() - 1)) );
else
emit chanmsg ( nick, mask, matrix[2], message );
} else { // mensaje en privado
if ( message.startsWith("\001") ) // /me
if ( message.startsWith("\001ACTION ")) // me
emit queryme ( nick, mask, message.right((message.length() - 8)) );
else
emit queryctcp ( nick, mask, message.right((message.length() - 1)) );
else
emit querymsg ( nick, mask, message );
}
} else if ( matrix[1] == "NOTICE" ) {
if ( matrix[2].startsWith("#") ) { // notice en canal
emit channotice ( nick, mask, matrix[2], message );
} else { // notice en privado
emit querynotice ( nick, mask, message );
}
}
} else if ( matrix[1] == "JOIN" ) { //join a un canal
QString nick = matrix[0].left(matrix[0].indexOf('!'));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" JOIN") - nick.length()));
if( matrix[2].startsWith(':') )
emit join(nick,mask,matrix[2].right( matrix[2].length() -1 ));
else
emit join(nick,mask,matrix[2]);
} else if ( matrix[1] == "PART" || matrix[1] == "QUIT" ) { //handled together
QString message = "", chan = "";
if (raw.indexOf(" :") != -1)
message = raw.right((raw.length() - 2) - raw.indexOf(" :"));
QString nick = matrix[0].left(matrix[0].indexOf('!'));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" PART") - nick.length()));
if ( matrix[1] == "PART" ) {
QString chan = raw.right((raw.length() - 1) - raw.indexOf(" #"));
chan = chan.left(chan.indexOf(" :"));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" PART") - nick.length()));
emit part(nick,mask,chan,message);
} else if ( matrix[1] == "QUIT" ) {
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" QUIT") - nick.length()));
emit quit(nick,mask,message);
}
} else if ( matrix[1] == "NICK" ) {
QString nick = matrix[0].left(matrix[0].indexOf('!'));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" NICK") - nick.length()));
QString newnick = raw.right((raw.length() - 2) - raw.indexOf(" :"));
if (newnick == ownNick)
emit ownNickChange(newnick);
emit nickChange(nick,mask,newnick);
} else if ( matrix[1] == "MODE" ) { // cambio de modo, pero no sé si es de usuario o canal.
if ( matrix[2].startsWith('#') ) { // c mode
QString nick = matrix[0].left(matrix[0].indexOf('!'));
QString mask = matrix[0].mid(matrix[0].indexOf('!') + 1,(matrix[0].indexOf(" MODE") - nick.length()));
QString chan = matrix[2];
//.........这里部分代码省略.........
示例15: oled_flush
void oled_flush()
{
resetPosition();
/*shao CHIPSELECT(MODE_DATA)
{
debugPin_spi(HIGH);
// Here we load a byte from the global variable buffer into a fast local variable.
// This is done while we're waiting for the SPI transfer to complete.
// Delay cycles is also used to replace loop_until_bit_is_set().
// In total, we go from ~3.84ms transfer time of the basic loop to ~2.31ms using local variables and delay cycles. (4MHz SPI, 1KB frame buffer)
// As an added bonus we clear the frame buffer with the extra clock cycles which means we don't have to wait for memset() to clear it later on.
// The minimum possible transfer time for 4MHz SPI and 1KB frame buffer is 2.048ms. 12.5% overhead (1 cycle to read SPSR, 1 cycle to set SPDR)... not bad :3
for(uint i=0;i<FRAME_BUFFER_SIZE;i++)
{
byte next = oledBuffer[i]; // Load next byte
oledBuffer[i] = 0x00; // Clear buffer byte
// At max speed SPI takes 16 cycles to send a byte
// 8 cycles were used to increment the loop counter, compare the counter, loading next byte and clearing buffer byte
// 8 cycles are left
//shao __builtin_avr_delay_cycles(8);
SPSR; // Need to read register to clear SPIF
SPDR = next; // Send byte
}
// After sending the last byte the for loop exits, so we need to wait for the transfer to finish here
//shao __builtin_avr_delay_cycles(14);
SPSR;
//loop_until_bit_is_set(SPSR, SPIF);
// Original method
//for(uint i=0;i<FRAME_BUFFER_SIZE;i++)
// spi_transfer_nr(oledBuffer[i]);
debugPin_spi(LOW);
}*/
/*shao if (watchConfig.display180)
{
for (uint i = (FRAME_BUFFER_SIZE-1); i >=0; i--)
{
byte next = oledBuffer[i]; // Load next byte
oledBuffer[i] = 0x00; // Clear buffer byte
sendData(next);
}
}else
{*/
for (uint i = 0; i < FRAME_BUFFER_SIZE; i++)
{
//Serial.print(oledBuffer[i]);
byte next = oledBuffer[i]; // Load next byte
oledBuffer[i] = 0x00; // Clear buffer byte
sendData(next);
}
//shao }
}