Skip to content

Инструмент кодирования-декодирования буферов данных разных типов

Notifications You must be signed in to change notification settings

ValesValesskiy/sprut-buffer-structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation





> npm i sprut-buffer-structure

Sprut-buffer-structure

Инструмент тестируется и будет дописываться или переписываться.

На данный момент значения переводятся в буфферы математическими расчётами.

В будущем, для типичных размеров типа, это может измениться.


Создаётся для собственных нужд и используется как зависимость в собственных пакетах. Будет использоваться для перевода объектов или примитивов в буфферы и шаринга между процессами данного буфера, с возможностью перевести обратно в те же структуры внутри процессов. Также для пересылки буферов по сетевым сокетам в обход JSON.parse, JSON.stringify и HTTP и подобных ему протоколов. Делается с мыслями о том, что это будет быстрее работать.


Инструмент для перевода текстовых данных заданной и динамической длины, численных значений заданной длины, массивов и объектов в буферы. Также может использоваться для перевода чисел в другие системы счиления с заданным основанием. Перевод в байти происходит с заданием основания 256.



Оглавление


Использование генератора класса сообщений:


const { MessageClass, MessageTypesAlias } = require('sprut-buffer-structure');

const SomeBufferMessage = MessageClass<number, string>(
    {
        dataTypes: [
            VarTypes.Number(2),
            VarTypes.String(MessageTypesAlias.dynamic),
        ],
        dynamicLengthLabelBytes: 2
    }
);

let msg = new SomeBufferMessage(100, '10');
console.log(msg.toBuffer()); // <Buffer 00 64 00 02 31 30>
console.log(msg.toBuffer().byteLength); // 6

Использование утилитных методов:


...

Описаны не все особенности. Некоторое из неописанного, возможно, будет выпилено.

About

Инструмент кодирования-декодирования буферов данных разных типов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published