An open API service indexing awesome lists of open source software.

https://github.com/dannys42/swiftpacketprocessor

A type-safe packet processor framework in Swift
https://github.com/dannys42/swiftpacketprocessor

file json packet packetprocessor socket swift tcp

Last synced: 3 months ago
JSON representation

A type-safe packet processor framework in Swift

Awesome Lists containing this project

README

          




Apache 2

# PacketProcessor

The Swift `PacketProcessor` provides a simple, type-safe way of handling structured packets given a data stream.

`PacketProcessor` handles the details of buffer management when reading a data stream. Callers need only push newly received data to the `PacketProcessor`. The correct handlers for the appropriately typed packet will be called when appropriate.

Packet definitions must include rules for validating the packet and returning the number of data elements consumed by the packet. See `DataPacket` and `StringPacket`.

Streams can have a base collection type of `String` or `Data` by initializing as `PacketProcessor` or `PacketProcessor`.

## Installation

### Swift Package Manager
Add the `PacketProcessor ` package to the dependencies within your application's `Package.swift` file. Substitute "x.y.z" with the [latest PacketProcessor release](https://github.com/dannys42/SwiftPacketProcessor/releases).

```swift
.package(url: "https://github.com/dannys42/SwiftPacketProcessor", from: "x.y.z")
```

Add `PacketProcessor` to your target's dependencies:

```swift
.target(name: "example", dependencies: ["PacketProcessor"]),
```