# Set Data Stall Params

This sample application demonstrates how to set data stall parameters.

1. Implement IDataControlListener listener class to receive an SSR event.

class DataControlListener : public telux::data::IDataControlListener {
    public:
        void onServiceStatusChange(telux::common::ServiceStatus status) {
            switch(status) {
                case telux::common::ServiceStatus::SERVICE_AVAILABLE:
                    std::cout << " SERVICE_AVAILABLE";
                    break;
                case telux::common::ServiceStatus::SERVICE_UNAVAILABLE:
                    std::cout << " SERVICE_UNAVAILABLE";
                    break;
                default:
                    std::cout << " Unknown service status";
                    break;
            }
        }
    };
    Copy to clipboard

2. Optionally, create a callback to obtain the status of the initialization of the data control
manager.

std::promise<telux::common::ServiceStatus> p{};
    auto dataControlMgrIntCb = [&p](telux::common::ServiceStatus status) {
         p.set_value(status);
    };
    Copy to clipboard

3. Get the data factory and data control manager (as described below) and wait until the service is
available.

auto &dataFactory = telux::data::DataFactory::getInstance();
    
    dataControlMgr_  = dataFactory.getDataControlManager(dataControlMgrIntCb);
    serviceStatus = p1.get_future().get();
    std::cout << "Initialization complete for data control manager" << std::endl;
    Copy to clipboard

4. Register for a data control listener to receive an SSR event.

status = dataControlMgr_->registerListener(dataControlListener);
    if (status != telux::common::Status::SUCCESS) {
        std::cout << "Can't register listener, err " <<
            static_cast<int>(status) << std::endl;
    }
    Copy to clipboard

5. Set parameters for data stall.

params.trafficDir = telux::data::Direction::UPLINK;
    params.appType = telux::data::ApplicationType::CONV_AUDIO;
    params.dataStall = true;
    
    telux::common::ErrorCode errorCode = dataControlMgr_->setDataStallParams(slotID, params);
    Copy to clipboard

Last Published: Apr 14, 2026

[Previous Topic
Enable IP Passthrough](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/enable_ip_passthrough.md) [Next Topic
Set Ethernet Datalink State](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/set_eth_datalink_state.md)