Skip to content

Additional interfaces#

Additional functionalities for the lab.SCHC FullSDK are declared in separate interfaces that enhance and extend the capabilities of the main interfaces and the SDK itself. These interfaces are designed to provide advanced features, improve usability, and offer greater flexibility in integrating with our SDK

Statistics interface#

The header file for the Statistics interface is fullsdkstats.h.

This statistics interface is used to provide SCHC information related to the number of SCHC compressed packets and SCHC fragments exchanged in uplink and downlink directions by the lab.SCHC FullSDK stack.

Packet counter#

  • stats_schc_packets_tx_counter(): Returns the number of SCHC unfragmented packets that are transmitted by the library.
  • stats_schc_packets_rx_counter(): Returns the number of SCHC unfragmented packets received by the library.

Fragment counter#

  • stats_schc_fragments_tx_counter(): Returns the number of SCHC fragments transmitted by the library.
  • stats_schc_fragments_rx_counter(): Returns th enumber of SCHC fragments received by the library.

ACK counter#

These functions do not concern the No-ACK mode.

  • stats_schc_ack_tx_counter(): Returns the number of SCHC ACK transmitted by the library.
  • stats_schc_ack_rx_counter(): Returns the number of SCHC ACK received by the library.

Reset#

  • stats_reset(): Resets all metrics to 0.

Advanced SCHC Configuration interface#

The functions defined in the advanced SCHC configuration interface are used for tuning and customization. They will affect the way lab.SCHC FullSDK handle the applicative packets.

The header file for the SCHC Configuration interface is fullsdkschc.h.

This interface can be used to configure SCHC technology profile and fragmentation parameters.

Change retransmission timer#

  • schc_set_retransmission_timer(): Allows to modify the value of the retransmission timer used by the current profile. This function must be provided with the parameter rt_exp_time which value is a 32-bits integer.

Change inactivity timer#

  • schc_set_inactivity_timer(): Allows to modify the value of the inactivity timer used by the current profile. This function must be provided with the parameter it_exp_time which value is a 32-bits integer.

Polling#

  • schc_set_polling_status(): Allows to activate polling for downlink sessions as well as suspending uplink sessions in the meanwhile. This function must be provided with the following boolean parameters:
    • enable: true to activate polling.
    • suspend_uplinks: true to suspend uplink sessions.

ACK-Always mode#

These functions are only used with ACK-Always downlink fragmentation mode.

  • schc_set_schc_ack_req_dn_opportunity(): To set the new value of ACK_REQ_DN_OPPORTUNITY in the computation of the ACK retransmission timer expiration. This function must be provided with the parameter ack_req_dn_opportunity whose value is a 8-bits integer.
  • schc_set_idle_polling_timer(): To set the value of the idle polling timer that is used to create downlink opportunities on quasi-bidirectional links. This function must be provided with the parameter time whose value is a 32-bits integer.
  • schc_set_ack_retransmission_timer(): To set the value of the ACK retransmission timer that is used to create downlink opportunities on quasi-bidirectional links. This function must be provided with the parameter time whose value is a 32-bits integer.

Maximum ACK requests#

  • schc_set_max_ack_req(): Allows to set the value of MAX ACK REQUESTS that indicates the number of time a sender will send an ACK before sending an ABORT message. This function must be provided with the parameter max_ack_req which value is a 8-bits integer.