|
PebbleOS
|
Per-session queue of outbound jobs, each holding complete messages. More...
Data Structures | |
| struct | SessionSendJobImpl |
| Callbacks implementing a send queue job. More... | |
| struct | SessionSendQueueJob |
| Job sending one or more complete Pebble Protocol messages. More... | |
Functions | |
| void | comm_session_send_queue_add_job (CommSession *session, SessionSendQueueJob **job) |
| Append a job to a session's send queue and schedule sending. | |
Per-session queue of outbound jobs, each holding complete messages.
| struct SessionSendQueueJob |
Job sending one or more complete Pebble Protocol messages.
Send queue job, see struct SessionSendQueueJob.
Embed it as the first member of a larger structure to carry job-specific context.
| Data Fields | ||
|---|---|---|
| const SessionSendJobImpl * | impl | Job implementation. |
| ListNode | node | Node in the session's send queue. |
| void comm_session_send_queue_add_job | ( | CommSession * | session, |
| SessionSendQueueJob ** | job | ||
| ) |
Append a job to a session's send queue and schedule sending.
The caller keeps the job alive until impl->free() is called. If the session is no longer valid, the job is freed immediately and *job is set to NULL. bt_lock() need not be held.
| session | Destination session. | |
| [in,out] | job | Job to enqueue. |