Skip to content

SuperSocket.ProtoBuf 2.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@kerryjiang kerryjiang released this 06 May 19:55

We're excited to announce the first beta release of SuperSocket.ProtoBuf 2.0.0! This library provides efficient Protocol Buffers integration for SuperSocket, enabling high-performance binary serialization and deserialization for network messages.

Features

  • Protocol Buffers Integration: Seamless integration with Google Protocol Buffers for efficient binary serialization
  • Type Registry System: Centralized type registry to manage message types and their unique identifiers
  • Pipeline Filters: Custom pipeline filters to process incoming protobuf messages
  • Package Encoders/Decoders: Built-in support for encoding and decoding protobuf messages
  • Cross-Platform Support: Compatible with multiple platforms including:
    • .NET 6.0, 7.0, 8.0, and 9.0
    • Mobile platforms (iOS, Android, macOS, tvOS)

Core Components

  • ProtobufTypeRegistry: Central registry for mapping between message types and their identifiers
  • ProtobufPipelineFilter<T>: Processes incoming data streams and extracts protocol buffer messages
  • ProtobufPackageDecoder<T>: Decodes binary data into strongly-typed protocol buffer messages
  • ProtobufPackageEncoder<T>: Encodes protocol buffer messages for network transmission
  • Concrete implementations for direct IMessage handling

Getting Started

Installation

dotnet add package SuperSocket.ProtoBuf --version 2.0.0-beta.1

Check the README for detailed usage examples and API documentation.

Protocol Format

Messages are encoded with an 8-byte header followed by the protobuf message payload:

  • First 4 bytes: Message size in big-endian format
  • Next 4 bytes: Message type ID in big-endian format
  • Remaining bytes: The serialized protobuf message

Notes for Beta Users

As this is a beta release, we welcome your feedback and contributions:

  • Please report any issues on our GitHub repository
  • API signatures may change between beta and final release
  • Performance optimizations are ongoing

License

SuperSocket.ProtoBuf is licensed under the Apache License 2.0.