【问题标题】:Equivalent of Akka ByteString in Scala standard APIScala 标准 API 中的 Akka ByteString 等价物
【发布时间】:2014-09-17 14:47:43
【问题描述】:

是否有人知道与 Akka 的 ByteString 等效的标准 API:http://doc.akka.io/api/akka/2.3.5/index.html#akka.util.ByteString

这个非常方便的类不依赖于任何其他 Akka 代码,我很难过必须导入整个 Akka jar 才能使用它。

我发现这个相当老的讨论提到将它添加到标准 API,但我不知道这个项目发生了什么:https://groups.google.com/forum/#!msg/scalaz/ZFcjGpZswRc/0tCIdXvpGBAJ

有人知道标准 API 中的等效代码吗?还是在一个非常轻量级的库中?

【问题讨论】:

  • 您不能简单地将 ByteString.scala 文件包含在您的项目中吗? github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/…
  • 当然,这就是我现在决定做的事情,但是 1) 如果以后我在我的项目或使用我的库的项目中添加对 Akka 的依赖项怎么办?两次看到相同的源文件会混淆编译器吗? 2)我还是想知道为什么把这个类集成到标准API的项目好像取消了。

标签: scala akka


【解决方案1】:

您可能想查看scodec-bits。提供BitVectorByteVector(API docs)两种类型,支持快速追加、取、放、随机访问等,库零依赖。我们将它从 scodec 中拆分出来,正是因为我们认为它可能在scodec 之外普遍使用,因为它被大量使用。

【讨论】:

  • 谢谢保罗!我会看看它。我特别使用了所有方便的putLong/getLong/putInt/getInt/... 方法ByteStringByteIterator。我在 scodec 中没有看到类似的东西,但应该很容易添加。
  • 实际上有 toInttoLong 和(即将推出)sliceToIntsliceToLong 函数。另一个方向是ByteVector.{fromLong,fromInt}
  • 错过了。谢谢,这将有很大帮助。
猜你喜欢
  • 1970-01-01
  • 2021-12-21
  • 2016-07-05
  • 2021-08-07
  • 1970-01-01
  • 2011-06-20
  • 2015-08-14
  • 1970-01-01
  • 2022-09-27
相关资源
最近更新 更多