# Example code Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/example_code.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/example_code.html) ## Java **Required imports** import com.qualcomm.qti.qesdk.Modem.IlinkLatencyCBs; import com.qualcomm.qti.qesdk.Modem.LinkLatencyEnums.level; import com.qualcomm.qti.qesdk.Modem.LinkLatencyEnums.slotId; import com.qualcomm.qti.qesdk.Modem.LinkLatencyManager; import com.qualcomm.qti.qesdk.QesdkStatusException;Copy to clipboard **Declare required objects** private Iqesdk mQesdkManager; private PP_eDGNSSManager mPpeEdgnssManager; private PP_RTKManager mPpeRtkManager;Copy to clipboard **Create the QESDK manager instance** mQesdkManager = Iqesdk.createInstance(this);Copy to clipboard **Create data path priority manager instance** datapathPriorityManager = new DataPathPriorityManager(qesdkManager) int status = datapathPriorityManager.init([String license], (opcodes, subsystem) -> { // Callback handle });Copy to clipboard **Setup callbacks** // For Registering flow datapathPriorityManager.registerFlowStatusUpdates(new IdataPathPriorityCBs.IflowStatus() { @Override public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) { // Handle callback } });Copy to clipboard **Add a flow** datapathPriorityManager.addFlow(directionEnum, srcIp, srcPort, dstIp, dstPort, protocolEnum, apptypeEnum, inactivityTimer, dscp, new IdataPathPriorityCBs.IflowStatus() { @Override public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) { // Handle callback } });Copy to clipboard **Get a flow from the stack** datapathPriorityManager.getFlows(new IdataPathPriorityCBs.IflowStatus() { @Override public void onValues(long l, DataPathPriorityEnums.flowStatusEnum flowStatusEnum, String s) { // Handle callback } });Copy to clipboard **Delete a single flow** datapathPriorityManager.deleteFlow(FilterID) Copy to clipboard **Delete all flows** datapathPriorityManager.deleteAllFlows();Copy to clipboard ## Native **Required includes** #include “qesdk_ndk.h” Copy to clipboard **Initialize** DataPathPriorityManager * dppManager = new LinkLatencyManager(); DataPathPriorityManager (); int ret = dppManager->init(licenseStr, license_length, (uint32_t opcodes, uint32_t *subsystems) { // Handle QESDK event });Copy to clipboard **Setup callbacks** void flowStatusCallback(uint32_t id, dpp_flowStatusEnum status, std::string statusString) { // Handle DPP flow Status callback }Copy to clipboard **Register callbacks** int8_t ret = -1; qesdk_transaction_status qesdk_ndk_response = dppManager->registerFlowStatusUpdates(flowStatusCallback, ret); if(qesdk_ndk_response.is_ok()){ // Use the ret value if(ret != SUCCESS) } else { // Can get error code by get_error_code() }Copy to clipboard **Add a flow** qesdk_ndk_response = dppManager->addFlow(directionEnum, reinterpret_cast(src_ip), src_port,reinterpret_cast(dst_ip), dst_port, protocolEnum, apptypeEnum, inactivity_timer, dscp, flowStatusCallback, ret); if(qesdk_ndk_response.is_ok()){ // Use the ret value } else { // Can get error code by get_error_code() }Copy to clipboard **Get a flow from the stack** qesdk_ndk_response = dppManager->getFlows(flowStatusCallback, ret); if(qesdk_ndk_response.is_ok()){ // Use the ret value } else { // Can get error code by get_error_code() }Copy to clipboard **Delete a single flow** qesdk_ndk_response = dppManager->deleteFlow(flowid, ret); if(qesdk_ndk_response.is_ok()){ // Use the ret value } else { // Can get error code by get_error_code() }Copy to clipboard **Delete all flows** qesdk_ndk_response = dppManager->deleteAllFlows(ret); if(qesdk_ndk_response.is_ok()){ // Use the ret value } else { // Can get error code by get_error_code() }Copy to clipboard **Parent Topic:** [Data path priority (smart data flow)](https://docs.qualcomm.com/doc/80-PK177-134/topic/data_path_priority.html) Last Published: Nov 14, 2024 [Previous Topic Flow status](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/flow_status.md) [Next Topic Link latency estimation (smart data link)](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/link_latency_estimation.md)