#### [Abblix\.SharedSignals](https://www.abblix.com/en/docs/api/abblix-sharedsignals 'index')
### [Abblix\.SharedSignals\.Transmitter](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter 'Abblix\.SharedSignals\.Transmitter')

## PollEndpointHandler Class

The transmitter's half of one poll exchange \(RFC 8936, carried by SSF 1\.0 Section 6\.1\.2\):
release what the receiver acknowledged, then answer with what waits\. A host adapter owns
routing, authentication and any long\-poll waiting; this type answers from the queue as it
is\.

```csharp
public sealed class PollEndpointHandler
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → PollEndpointHandler
### Constructors

## PollEndpointHandler\(IEventOutbox\) Constructor {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.PollEndpointHandler(Abblix.SharedSignals.Transmitter.IEventOutbox)}

The transmitter's half of one poll exchange \(RFC 8936, carried by SSF 1\.0 Section 6\.1\.2\):
release what the receiver acknowledged, then answer with what waits\. A host adapter owns
routing, authentication and any long\-poll waiting; this type answers from the queue as it
is\.

```csharp
public PollEndpointHandler(Abblix.SharedSignals.Transmitter.IEventOutbox outbox);
```
#### Parameters

###### `outbox` [IEventOutbox](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IEventOutbox 'Abblix\.SharedSignals\.Transmitter\.IEventOutbox') {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.PollEndpointHandler(Abblix.SharedSignals.Transmitter.IEventOutbox).outbox}

The queues being served\.
### Methods

## PollEndpointHandler\.HandleAsync\(StreamState, PollRequest, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.HandleAsync(Abblix.SharedSignals.Transmitter.StreamState,Abblix.SecurityEvents.Delivery.PollRequest,System.Threading.CancellationToken)}

Handles one poll request for one stream\.

```csharp
public System.Threading.Tasks.Task<Abblix.SecurityEvents.Delivery.PollResponse> HandleAsync(Abblix.SharedSignals.Transmitter.StreamState stream, Abblix.SecurityEvents.Delivery.PollRequest request, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `stream` [StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState') {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.HandleAsync(Abblix.SharedSignals.Transmitter.StreamState,Abblix.SecurityEvents.Delivery.PollRequest,System.Threading.CancellationToken).stream}

The stream being polled\.

###### `request` [Abblix\.SecurityEvents\.Delivery\.PollRequest](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.delivery.pollrequest 'Abblix\.SecurityEvents\.Delivery\.PollRequest') {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.HandleAsync(Abblix.SharedSignals.Transmitter.StreamState,Abblix.SecurityEvents.Delivery.PollRequest,System.Threading.CancellationToken).request}

What the receiver acknowledges and asks for\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.PollEndpointHandler.HandleAsync(Abblix.SharedSignals.Transmitter.StreamState,Abblix.SecurityEvents.Delivery.PollRequest,System.Threading.CancellationToken).cancellationToken}

Cancels outbox I/O\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.SecurityEvents\.Delivery\.PollResponse](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.delivery.pollresponse 'Abblix\.SecurityEvents\.Delivery\.PollResponse')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')

### Remarks
An acknowledgement releases retention, and only an acknowledgement does: RFC 8936
Section 2\.2 says of "ack" that "the SET Transmitter is released from any obligation to
retain the SET", and says no such thing of "setErrs"\. An error report is released only when
the code says redelivery cannot change the answer \- the same reading the push sender
applies, so one registry does not decide two ways in one package\. A receiver whose
credentials lapsed reports "access\_denied" and keeps its events\. A stream that
is not enabled serves nothing except status announcements \- the pause holds events
\(SSF 1\.0 Section 8\.1\.2\.1\), and the announcement is what Section 8\.1\.5 still owes the
receiver after the stop\.
