void audio_chunk::set_data(const audio_sample * src,t_size samples,unsigned nch,unsigned srate,unsigned channel_config) { t_size size = samples * nch; set_data_size(size); if (src) pfc::memcpy_t(get_data(),src,size); else pfc::memset_t(get_data(),(audio_sample)0,size); set_sample_count(samples); set_channels(nch,channel_config); set_srate(srate); }
serial::err serial_port_x86::open(void) { disable_interrupt_mode(); set_baud_rate(m_baud); set_parity_mode(m_parity); set_data_size(m_data_size); set_stop_bits(m_stop_bits); enable_fifo(); enable_interrupt_mode(m_interrupt_mode); return serial::success; }
void StoreMigrationSourceActor::handleMigrationRequest(const idgs::actor::ActorMessagePtr& msg) { // migration data if (it->hasNext()) { std::shared_ptr<pb::MigrationData> payload = std::make_shared<pb::MigrationData>(); size_t cnt = 0; auto mode = static_cast<protobuf::SerdesMode>(msg->getSerdesType()); while (it->hasNext() && cnt < batchSize) { auto data = payload->add_data(); data->set_operation_name(OP_INTERNAL_INSERT); protobuf::ProtoSerdesHelper::serialize(mode, it->key().get(), data->mutable_key()); protobuf::ProtoSerdesHelper::serialize(mode, it->value().get().get(), data->mutable_value()); ++ cnt; it->next(); } auto reqMsg = msg->createResponse(); reqMsg->setOperationName(MIGRATION_DATA); reqMsg->setPayload(payload); idgs::actor::postMessage(reqMsg); return; } // migration store cache if (!redoLog.empty()) { std::shared_ptr<pb::MigrationData> payload = std::make_shared<pb::MigrationData>(); auto mode = static_cast<protobuf::SerdesMode>(msg->getSerdesType()); size_t cnt = 0; while (!redoLog.empty() && cnt < batchSize) { MigrationRedoLog info; redoLog.try_pop(info); if (!info.key) { continue; } auto data = payload->add_data(); data->set_operation_name(info.opName); protobuf::ProtoSerdesHelper::serialize(mode, info.key.get(), data->mutable_key()); if (info.value) { protobuf::ProtoSerdesHelper::serialize(mode, info.value.get(), data->mutable_value()); } ++ cnt; } auto reqMsg = msg->createResponse(); reqMsg->setOperationName(MIGRATION_DATA); reqMsg->setPayload(payload); idgs::actor::postMessage(reqMsg); return; } auto& wrapper = pstore->getStoreConfig(); auto& schemaName = wrapper->getSchema(); auto& storeName = wrapper->getStoreConfig().name(); auto payload = std::make_shared<pb::StoreMigrationComplete>(); payload->set_schema_name(schemaName); payload->set_store_name(storeName); payload->set_data_size(map->size()); auto respMsg = msg->createResponse(); respMsg->setOperationName(STORE_MIGRATION_COMPLETE); respMsg->setPayload(payload); DVLOG(2) << "store " << schemaName << "." << storeName << " of partition " << partId << " migration complete on source member "; idgs::actor::sendMessage(respMsg); terminate(); }