PebbleOS v4.45.0-179-g439c45a48
Loading...
Searching...
No Matches
pbl_pp_transport Struct Reference

A transport. More...

#include <transport.h>

Data Fields

const char * name
 Name, for logs.
 
uint8_t priority
 Preference among open system sessions: pbl_pp_session_get_system() returns the one on the transport with the highest value.
 
bool shared
 Whether its system sessions coexist with others.
 
void(* send_next )(struct pbl_pp_session *session)
 Send queued data.
 
void(* close )(struct pbl_pp_session *session)
 Close a session to make way for a new system session.
 
void(* reset )(struct pbl_pp_session *session)
 Reset a session, see pbl_pp_session_reset().
 
void(* set_responsiveness )(struct pbl_pp_session *session, enum pbl_bt_consumer consumer, enum pbl_bt_response_time_state state, uint16_t max_period_secs, pbl_bt_responsiveness_granted_cb_t granted)
 Apply a connection response time, see pbl_pp_session_set_responsiveness().
 

Detailed Description

A transport.

Statically allocated by each transport.

Field Documentation

◆ close

void(* pbl_pp_transport::close) (struct pbl_pp_session *session)

Close a session to make way for a new system session.

Must call pbl_pp_session_close() before returning. NULL if sessions cannot be closed from the watch, in which case new system sessions are refused.

Parameters
sessionSession.

◆ name

const char* pbl_pp_transport::name

Name, for logs.

◆ priority

uint8_t pbl_pp_transport::priority

Preference among open system sessions: pbl_pp_session_get_system() returns the one on the transport with the highest value.

◆ reset

void(* pbl_pp_transport::reset) (struct pbl_pp_session *session)

Reset a session, see pbl_pp_session_reset().

NULL if not supported.

Parameters
sessionSession.

◆ send_next

void(* pbl_pp_transport::send_next) (struct pbl_pp_session *session)

Send queued data.

Mandatory.

Called on KernelMain after pbl_pp_session_send_next(), or on the task blocked in pbl_pp_send_buffer_begin() if that is KernelMain. Must cope with an empty send queue.

Parameters
sessionSession with data to send.

◆ set_responsiveness

void(* pbl_pp_transport::set_responsiveness) (struct pbl_pp_session *session, enum pbl_bt_consumer consumer, enum pbl_bt_response_time_state state, uint16_t max_period_secs, pbl_bt_responsiveness_granted_cb_t granted)

Apply a connection response time, see pbl_pp_session_set_responsiveness().

NULL if the transport has no such notion; requests are then granted at once.

◆ shared

bool pbl_pp_transport::shared

Whether its system sessions coexist with others.

Opening a system session closes the existing one unless either of them is on a shared transport.


The documentation for this struct was generated from the following file: