FreeRDP
Loading...
Searching...
No Matches
FreeRDP_MultitransportDvcCallbacks Struct Reference

Dynamic virtual channel hooks of the client side tunnels. More...

#include <multitransport.h>

Data Fields

WINPR_ATTR_NODISCARD BOOL(* TunnelDataReceived )(void *custom, UINT32 tunnelType, wStream *s)
 
WINPR_ATTR_NODISCARD BOOL(* TunnelStateChanged )(void *custom, UINT32 tunnelType, FreeRDP_MultitransportTunnelState state)
 
BOOL DataOnTunnelThread
 

Detailed Description

Dynamic virtual channel hooks of the client side tunnels.

Tunnel types are the TUNNELTYPE_ values of [MS-RDPEDYC]. Both callbacks run on the thread that runs freerdp_check_event_handles(), except TunnelDataReceived with DataOnTunnelThread set.

Data that arrived on a tunnel has been acknowledged to the server already, so it cannot be dropped without corrupting the channel stream. A callback that fails returns FALSE, which ends the connection like a broken main transport.

Since
version 3.33.0

Definition at line 52 of file include/freerdp/multitransport.h.

Field Documentation

◆ DataOnTunnelThread

BOOL FreeRDP_MultitransportDvcCallbacks::DataOnTunnelThread

TRUE: once TunnelStateChanged has reported the tunnel ready, TunnelDataReceived runs on the tunnel's own thread, which saves the way through the main loop. It must then only pass the stream on to the thread that reads the channels, without blocking: the tunnel waits for it.

Definition at line 66 of file include/freerdp/multitransport.h.

◆ TunnelDataReceived

WINPR_ATTR_NODISCARD BOOL(* FreeRDP_MultitransportDvcCallbacks::TunnelDataReceived) (void *custom, UINT32 tunnelType, wStream *s)

One dynamic virtual channel PDU arrived on a tunnel. The callback owns s, at position 0 with its length sealed, and releases it with Stream_Release(), also when it fails.

Definition at line 57 of file include/freerdp/multitransport.h.

◆ TunnelStateChanged

WINPR_ATTR_NODISCARD BOOL(* FreeRDP_MultitransportDvcCallbacks::TunnelStateChanged) (void *custom, UINT32 tunnelType, FreeRDP_MultitransportTunnelState state)

A tunnel became ready, or went away.

Definition at line 60 of file include/freerdp/multitransport.h.


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