2014-09-17 2 views
1

Кто-нибудь знает о стандартном API, эквивалентную байтовой строки AKKA в: http://doc.akka.io/api/akka/2.3.5/index.html#akka.util.ByteStringэквивалент Akka байтовой строки в Scala стандартного API

Это очень удобный класс не имеет зависимостей от любого другого кода Акко, и это печалит меня должны импортировать весь Akka jar просто для его использования.

Я нашел это довольно старое обсуждение, упоминая, добавив его в стандартный API, но я не знаю, что случилось с этим проектом: https://groups.google.com/forum/#!msg/scalaz/ZFcjGpZswRc/0tCIdXvpGBAJ

Кто-нибудь знает, эквивалентной части кода в стандарте API? Или в очень легкой библиотеке?

+0

Не могли бы вы просто включить файл ByteString.scala в свой проект? https://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/util/ByteString.scala – xyclos

+0

Абсолютно, вот что я решил сделать сейчас, но 1) что, если позже я добавлю зависимость от Akka либо в моем проекте, либо в проекте, используя мою библиотеку? Сможет ли это смутить компилятор, чтобы увидеть тот же исходный файл дважды? 2) Я все еще хотел бы знать, почему проект интеграции этого класса в стандартный API, кажется, был отменен. – vptheron

ответ

5

Возможно, вы захотите зарегистрироваться scodec-bits. Он предоставляет два типа: BitVector и ByteVector (API docs), поддерживающий быстрое добавление, получение, падение, произвольный доступ и т. Д. Библиотека имеет нулевые зависимости. Мы разделили его из scodec именно потому, что мы думали, что это может быть общего использования за пределами scodec, где он используется сильно.

+0

Спасибо, Пол! Я посмотрю на это. Я особенно использую все удобные методы 'putLong' /' getLong'/'putInt' /' getInt'/... 'ByteString' и' ByteIterator'. Я не вижу ничего подобного в scodec, но это довольно легко добавить. – vptheron

+0

На самом деле есть функции 'toInt',' toLong' и (скоро) 'sliceToInt' и' sliceToLong'. И есть 'ByteVector. {FromLong, fromInt}' для другого направления. – pchiusano

+0

Пропустил это. Спасибо, это очень поможет. – vptheron