@qsocket/protocol
TypeScript icon, indicating that this package has built-in type declarations

0.0.1-rc3 • Public • Published

@qsocket/protocol

npm version npm downloads GitHub license

@qsocket/protocol is a robust protocol for data transmission within the QSocket library, enabling efficient interprocess communication with support for various data types and encoding/decoding formats. This package is specifically tailored for QSocket and provides essential classes and types for handling any message content in buffer format.

Key Features

  • Message Types: Supports various message types for data transmission, connection management, and delivery acknowledgment.
  • Content Types: Supports multiple content formats, including JSON, Buffer, strings, and other data types.
  • Performance Optimized: The protocol is designed for low latency and efficient data transfer in buffer format.

Installation

To install the @qsocket/protocol package, run the command:

npm install @qsocket/protocol

Note: For full functionality, it is recommended to use this package within the @qsocket/core framework.

Usage Example

An example of how to use @qsocket/protocol to define message types and content types in a Node.js application based on QSocket:

import { QSocketProtocol, EQSocketProtocolMessageType, EQSocketProtocolContentType, IQSocketProtocolChunk } from '@qsocket/protocol';

// Initialize QSocketProtocol
const protocol = new QSocketProtocol();

// Create a simple message
const messageChunk: IQSocketProtocolChunk = {
	meta: {
		type: EQSocketProtocolMessageType.DATA,
		uuid: 'example-uuid',
		namespace: 'example-namespace',
		event: 'example-event',
	},
	payload: {
		data: Buffer.from('Hello, QSocket!'),
		'Content-Type': EQSocketProtocolContentType.BUFFER,
	},
};

function processMessage() {
	// Encode the message
	const encodedMessage = protocol.to([messageChunk]);
	if (encodedMessage instanceof Error) throw encodedMessage;

	// Decode the message
	const decodedMessage = protocol.from(encodedMessage);
	if (decodedMessage instanceof Error) throw decodedMessage;

	console.log('Original message:', messageChunk);
	console.log('Decoded message:', decodedMessage);
}

// Call the function
processMessage().catch(console.error);

License

This project is licensed under the MIT License.

Package Sidebar

Install

npm i @qsocket/protocol

Weekly Downloads

2

Version

0.0.1-rc3

License

MIT

Unpacked Size

94.1 kB

Total Files

9

Last publish

Collaborators

  • qpyracuk-pda