Буферный парсинг клиентской стороны

Откройте Directory обеспечивает стандартный парсинг буфера данных для a tDataBuffer возвращенный плагином обслужил функции dsGetRecordList, dsDoAttributeValueSearch, и dsDoAttributeValueSearchWithData если и только если буфер был создан с помощью стандартного формата, известного, как Client Side Buffer Parsing (CSBP) описал в этом разделе.

CSBP сокращает цикл обработки Мах и трафик сообщений TCP между клиентом и сервером, который иначе потребовал бы передачи всего tDataBuffer. Таким образом CSBP приводит к значительному повышению производительности в обслуживании вызовов к dsGetRecordEntry, dsGetAttributeEntry, и dsGetAttributeValue, которые должны извлечь определенные точки данных, такие как значения атрибута из a tDataBuffer.

Существует два стандарта CSBP: StdA и StdB. StdB был первым форматом, и это все еще поддерживается. StdA допускает большие атрибуты и является рекомендуемым форматом.

Таблица 12-1 перечисляет порядок полного блока данных, содержащего x число записей.

Табличный 12-1  Формат блока данных StdA и StdB

Число байтов

Описание

4

ulong:: тег, описывающий блок данных; значение STDA или STDB

4

ulong:: количество записей содержится в этом блоке данных

4

ulong:: смещение в байтах к запуску первого рекордного блока

4

ulong:: смещение в байтах к запуску второго рекордного блока

...

4

ulong:: смещение в байтах к запуску последнего рекордного блока

4

ulong:: конец описания тега смещений; значение ENDT

...

вакуум до запуска последнего рекордного блока; т.е. рекордные блоки упаковываются в буферный запуск в конце блока данных

4

ulong:: длина в байтах последнего рекордного блока

#

последний рекордный блок

...

4

ulong:: длина в байтах первого рекордного блока

#

первый рекордный блок

Таблица 12-2 перечисляет порядок StdA единственный рекордный блок, содержащий y полные блоки атрибута.

Табличный 12-2  Формат StdA единственный рекордный блок

Число байтов

Описание

2

ushort:: длина строки типа записи

n

UTF-8 [n]:: строка типа записи

2

ushort:: длина рекордной строки имени

m

UTF-8 [m]:: запишите строку имени

2

ushort:: число атрибутов в этом рекордном блоке

4

ulong:: длина в байтах первого блока атрибута

#

сначала припишите блок для этого рекордного блока

....

4

ulong:: длина в байтах последнего блока атрибута

#

в последний раз припишите блок для этого рекордного блока

Таблица 12-3 перечисляет порядок StdA единственный блок атрибута, содержащий z значения (т.е. все значения атрибута).

Табличный 12-3  Формат StdA единственный блок атрибута

Число байтов

Описание

2

ushort:: длина названия атрибута

r

UTF-8[r]:: строка названия атрибута

2

ushort:: число значений атрибута в этом блоке атрибута

4

ulong:: длина первого значения атрибута

s

байт [с]:: первое значение атрибута для этого типа атрибута

....

4

ulong:: длина последнего значения атрибута

t

байт [т]:: последнее значение атрибута для этого типа атрибута

Таблица 12-4 перечисляет порядок StdB единственный рекордный блок, содержащий y полные блоки атрибута.

Табличный 12-4  Формат StdB единственный рекордный блок

Число байтов

Описание

2

ushort:: длина строки типа записи

n

UTF-8 [n]:: строка типа записи

2

ushort:: длина рекордной строки имени

m

UTF-8 [m]:: запишите строку имени

2

ushort:: число атрибутов в этом рекордном блоке

2

ushort:: длина в байтах первого блока атрибута

#

сначала припишите блок для этого рекордного блока

....

2

ushort:: длина в байтах последнего блока атрибута

#

в последний раз припишите блок для этого рекордного блока

Таблица 12-5 перечисляет порядок StdB единственный блок атрибута, содержащий z значения (т.е. все значения атрибута).

Табличный 12-5  Формат StdB единственный блок атрибута

Число байтов

Описание

2

ushort:: длина названия атрибута

r

UTF-8[r]:: строка названия атрибута

2

ushort:: число значений атрибута в этом блоке атрибута

2

ushort:: длина первого значения атрибута

s

байт [с]:: первое значение атрибута для этого типа атрибута

....

2

ushort:: длина последнего значения атрибута

t

байт [т]:: последнее значение атрибута для этого типа атрибута