PackStream 1.1.2

PackStream 1.1.2

测试已测试
语言语言 SwiftSwift
许可证 BSD
发布最新发布2019 年 7 月
SPM支持 SPM

Niklas Saers 维护。



Swift 中的 PackStream 实现

PackStream 是一种与 MessagePack 非常相似的二进制消息格式。它可以独立使用,但它已被构建为 Bolt 协议的消息格式,用于 Neo4j 服务器与其客户端之间通信。

此实现是用 Swift 编写的,主要是作为 Swift Bolt 实现的依赖项。此实现将为 Theo(Neo4j 的 Swift 驱动程序)提供 Bolt 支持。

使用方法

通过 PackStream,您可以编码 Bool、Int、Float(Swift 中的 Double)、String、List、Map 和 Structure。它们都实现了 PackProtocol,因此如果您想有一个可打包项的集合,您可以将它们指定为实现 PackProtocol。

示例

首先,请记住

import PackStream

然后您可以使用它,例如

let map = Map(dictionary: [
    "alpha": 42,
    "beta": 39.3,
    "gamma": "",
    "delta": List(items: [1,2,3,4])
    ])
let result = try map.pack()
let restored = try Map.unpack(result)

为从 1 到 40 的数字编码列表

let items = Array(Int8(1)...Int8(40))
let value = List(items: items)

编码到以下字节

D4:28:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13:14:15:16:17:18:19:1A:1B:1C:1D:1E:1F:20:22:23:24:25:26:27:28

入门指南

要直接与 Xcode 一起使用,请输入 "swift package generate-xcodeproj"

Swift 包管理工具

将以下内容添加到 Package.swift 中您依赖项数组

.Package(url: "https://github.com/niklassaers/PackStream-swift.git",
 majorVersion: 0),

现在您可以执行

swift build

协议文档

有关参考,请参阅 Boltkit 中的 driver.py