Documentation
¶
Index ¶
Constants ¶
const (
ChannelName = plugin.RDPGFX_DVC_CHANNEL_NAME
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BitmapUpdate ¶ added in v0.4.5
type BitmapUpdate struct {
DestLeft, DestTop, DestRight, DestBottom int
Width, Height int
Bpp int // bytes per pixel (always 4)
Data []byte // BGRA pixel data
}
BitmapUpdate represents a rendered bitmap region.
type GfxHandler ¶ added in v0.4.5
type GfxHandler struct {
// contains filtered or unexported fields
}
GfxHandler implements the RDPGFX (MS-RDPEGFX) protocol.
func NewGfxHandler ¶ added in v0.4.5
func NewGfxHandler(onBitmap func([]BitmapUpdate)) *GfxHandler
NewGfxHandler creates a new RDPGFX handler.
func (*GfxHandler) OnChannelCreated ¶ added in v0.4.5
func (g *GfxHandler) OnChannelCreated()
OnChannelCreated is called after the DVC CREATE_RSP has been sent. It sends CAPS_ADVERTISE to the server to initiate the RDPGFX pipeline.
func (*GfxHandler) Process ¶ added in v0.4.5
func (g *GfxHandler) Process(data []byte)
Process handles a complete RDPGFX payload (may contain multiple PDUs). Data arrives wrapped in ZGFX (RDP8 Bulk Compression) segments (MS-RDPEGFX 2.2.4).
Called on the network read goroutine. Decompression happens here; the decompressed payload is then queued for asynchronous processing (including frame ACKs and decode) on the decode goroutine. This keeps the read goroutine free from any socket.Write calls that could cause TCP deadlock when both sides try to write simultaneously.
func (*GfxHandler) SetSendFunc ¶ added in v0.4.5
func (g *GfxHandler) SetSendFunc(fn func([]byte))
SetSendFunc sets the function used to send RDPGFX responses via DVC.