void CGenNodeStateless::Dump(FILE *fd){ fprintf(fd," %2.4f, %3lu, %s,%s, %3d, %s, %3lu, %3lu \n", m_time, (ulong)m_port_id, "s-pkt", //action get_stream_state_str(m_state ).c_str(), get_stream_id(), //stream_id TrexStream::get_stream_type_str(m_stream_type).c_str(), //stype (ulong)m_multi_bursts, (ulong)m_single_burst ); }
bool BackupSystem::file_has_changed(version_number_t &dst, FilishFso &new_file){ dst = invalid_version_number; auto path = new_file.get_mapped_path(); FileSystemObject *old_fso = nullptr; for (auto &fso : this->old_objects){ auto found = fso->find(path); if (!found || found->is_directoryish()) continue; old_fso = found; break; } if (!old_fso){ new_file.compute_hash(); return true; } zekvok_assert(old_fso); auto old_file = static_cast<FilishFso *>(old_fso); auto criterium = this->get_change_criterium(new_file); bool ret; switch (criterium){ case ChangeCriterium::ArchiveFlag: ret = new_file.get_archive_flag(); break; case ChangeCriterium::Size: ret = new_file.get_size() != old_file->get_size(); break; case ChangeCriterium::Date: ret = new_file.get_modification_time() != old_file->get_modification_time(); break; case ChangeCriterium::Hash: ret = compare_hashes(new_file, *old_file); break; case ChangeCriterium::HashAuto: ret = this->file_has_changed(new_file, *old_file); break; default: throw InvalidSwitchVariableException(); } if (!ret){ auto &hash = old_file->get_hash(); if (hash.valid) new_file.set_hash(hash.digest); auto v = old_file->get_latest_version(); new_file.set_latest_version(v); new_file.set_stream_id(old_file->get_stream_id()); dst = v; } return ret; }
static int stream_select (dtstream_context_t * stm_ctx) { if (!g_stream) return -1; int id = get_stream_id(stm_ctx->stream_name); dt_info(TAG,"get stream id:%d \n",id); stream_wrapper_t *entry = g_stream; while(entry) { if(id == entry->id || STREAM_FFMPEG == entry->id) break; entry = entry->next; } if(!entry) return -1; stm_ctx->stream = entry; dt_info (TAG, "[%s:%d] select stream, name:%s id:%d \n", __FUNCTION__, __LINE__, entry->name, entry->id); return 0; }