Skip to main content

Module xdr

Module xdr 

Source
Expand description

Codificação/decodificação XDR (RFC 4506) conforme usada pelo protocolo de comunicação (wire protocol) do Firebird.

Tudo é big-endian e preenchido (padding) até um limite de 4 bytes. Os inteiros são de 32 bits no wire mesmo quando o valor lógico é menor. Este módulo fornece auxiliares XdrWriter/XdrReader em memória mais construtores de clumplet para os vários buffers de parâmetros (DPB/TPB/SPB/BPB/batch PB).

Structs§

ParameterBuffer
Um buffer de parâmetros (DPB/TPB/SPB/BPB) construído como uma sequência de clumplets.
XdrReader
Lê um fluxo (stream) de bytes XDR produzido pelo servidor.
XdrWriter
Constrói um fluxo (stream) de bytes XDR em memória.

Functions§

pad4
Arredonda n para cima até o próximo múltiplo de 4.
read_le_int
Decodifica um inteiro little-endian de até 8 bytes (valor de item de info / buffer de parâmetros).
read_le_int_signed
Decodifica um inteiro little-endian de até 8 bytes, estendendo o sinal a partir de sua largura. Usado para campos que podem ser negativos (ex.: o scale de uma coluna).