pdcomm_gem_spool_request_configure
Function
Sends an S2F43 reset spooling streams and functions request (Host).
PdcommStatus pdcomm_gem_spool_request_configure(PdcommTcpEndpoint *endpoint, const PdcommGemSpoolSelection *selections, size_t count, PdcommTcpToken *token)Requires GEM Communicating and limits from pdcomm_gem_configure_spool_host(). The request shares the 32 native pending slots and the normal TCP token, cancel, and T3 behavior. It charges the stream count plus all listed functions against max_pending_items and the Host's shared max_pending_ids budget. An empty selection (NULL and a zero count) asks the Equipment to spool no stream. Success means the request was queued, not that the Equipment accepted it; the S2F44 arrives as a #PDCOMM_GEM_SPOOL_CONFIG_ACK result.
Parameters
| Name | Description |
|---|---|
endpoint | Communicating endpoint configured as GEM Host with spool limits. |
selections | Array of count stream selections. May be NULL when count is 0. |
count | Number of selections; at most max_streams. |
token | Receives the request token; zeroed first, so it is zero after every failure. Must not be NULL. |
Returns
#PDCOMM_OK when the request was queued; #PDCOMM_INVALID_ARGUMENT when token or endpoint is NULL, an array is NULL with a nonzero length, or a stream or function repeats; #PDCOMM_INVALID_STATE when spool Host limits are not configured or GEM is not Communicating; #PDCOMM_LIMIT_EXCEEDED when a selection or pending-ID limit is exceeded; #PDCOMM_BACKPRESSURE when a staged TCP event is pending, all 32 pending slots are used, or the TCP send queue is full; #PDCOMM_ALLOCATION_FAILED, a TCP status, or #PDCOMM_POISONED.