Commit graph

55 commits

Author SHA1 Message Date
Viktor Klang
af8ce260d3 Correcting erronous code links 2012-07-25 13:26:33 +02:00
Viktor Klang
52d33113d9 Partial work + broken commit 2012-07-04 15:25:30 +02:00
Viktor Klang
6fb06ee46b Merge with master and adding copyright notices on the osgi stuff 2012-07-01 22:31:39 +02:00
Oliver Schulz
777addc66c Merge branch master into bs-iterators
Resolved Conflicts:
	akka-actor/src/main/scala/akka/util/ByteString.scala
2012-07-01 17:29:12 +02:00
Oliver Schulz
20e313e6a5 Removed final specifier on some ByteString and ByteIterator methods 2012-06-17 22:22:40 +02:00
Oliver Schulz
b6b117cf54 Improved ByteString.{head,tail,last, init} and added missing tests 2012-06-17 22:18:51 +02:00
Oliver Schulz
3b67a4fdef Added explicit apply method with return type Byte to class ByteString
This is necessary to prevent boxing/unboxing of Bytes on apply.
2012-06-17 22:11:55 +02:00
Oliver Schulz
394cce0af4 Simplified implementation of ByteStringBuilder.asOutputStream 2012-06-17 17:58:20 +02:00
Oliver Schulz
2ed00f0936 Removed some superfluous braces. 2012-06-15 17:27:27 +09:00
Oliver Schulz
a87faade06 Fixed serious bug in ByteStringBuilder.++= 2012-06-12 15:01:16 +09:00
Oliver Schulz
5b83dc366e Removed unnecessary implementations of ByteString.clone
* As all ByteString implementations are immutable, an explicit override
  of Object.clone doesn't seem necessary.
2012-05-31 00:44:21 +02:00
Oliver Schulz
b285b0821f Made things that don't need to be public private in ByteString / -Iterator 2012-05-31 00:39:15 +02:00
Oliver Schulz
d59fbbf8e4 Made bytestrings private in ByteString.ByteStrings 2012-05-30 00:02:50 +02:00
Oliver Schulz
60c7a57ddf Code formatting changes as requested by Victor 2012-05-30 00:02:50 +02:00
Oliver Schulz
34e469c609 Fixed typos in ByteString comments 2012-05-30 00:02:49 +02:00
Oliver Schulz
7a854a9a83 Changed MultiByteArrayIterator to operate on a LinearSeq
ByteString.ByteStrings new creates it's iterator on a Stream instead of
a List, making ByteStings.iterator an O(1) operation.
2012-05-30 00:02:49 +02:00
Oliver Schulz
93d5e440ea Removed object ByteStringBuilder
* ByteStringBuilder.apply was unusual for Scala Builders
* Moved OutputStreamWrapper implementation into ByteStringBuilder
2012-05-30 00:02:49 +02:00
Oliver Schulz
b54e9ba78e Improved documentation of ByteString methods compact and isCompact 2012-05-30 00:02:49 +02:00
Oliver Schulz
75c04d8944 Explicit types for everything related to ByteString and ByteStringIterator 2012-05-26 12:08:44 +02:00
Oliver Schulz
5d08cd0b92 Removed ContByteString
A proper implementation of ContByteString with specialized return
types for methods like take, drop, etc. would have made things more
complex than it is worth.
2012-05-26 11:40:23 +02:00
Oliver Schulz
d3177bf08f Improved return type specialization for methods implemented in super-type 2012-05-26 11:30:51 +02:00
Oliver Schulz
0c76e0f0f6 Moved ByteIterator implementations into object ByteIterator 2012-05-26 11:30:23 +02:00
Viktor Klang
94e71b7a18 Huge refactor + preparing for binary compatibility, last stretch for akka-actor.jar... 2012-05-18 19:25:43 +02:00
Oliver Schulz
7d3edcddbc Improved implementation of ByteStrings.iterator 2012-05-18 17:36:16 +02:00
Oliver Schulz
bc0693a2de Added variants of putBytes, putShorts, etc. to ByteStringBuilder
Also removed byteOrder defaults for all put... methods.
2012-05-18 01:09:01 +02:00
Oliver Schulz
266c67679a Added methods isCompact and isContiguous to ByteString
* The ability to check whether a ByteString is compact / contiguous
  can be very useful when optimizing user code
2012-05-18 01:09:01 +02:00
Oliver Schulz
5d7823fd49 Made byteOrder implicit in ByteStringBuilder methods 2012-05-18 01:09:01 +02:00
Oliver Schulz
15507dff85 Added methods putByte, putShort, etc. to ByteStringBuilder 2012-05-18 01:09:01 +02:00
Oliver Schulz
f127b50ca2 Added methods putBytes, putShorts, etc. to ByteStringBuilder 2012-05-18 01:09:01 +02:00
Oliver Schulz
53a01ecc12 Added a java.io.OutputStream wrapper to ByteStringBuilder 2012-05-18 01:09:01 +02:00
Oliver Schulz
3263f43060 Added a companion object, length and sizeHint to class ByteStreamBuilder 2012-05-18 01:09:01 +02:00
Oliver Schulz
018f1c92d5 Improved implementations of ByteString.++ 2012-05-18 01:09:00 +02:00
Oliver Schulz
c8d7c995db Enhanced ByteString implementation using ByteIterator 2012-05-18 01:09:00 +02:00
Oliver Schulz
76dab6354e Added ByteIterator 2012-05-18 01:09:00 +02:00
Oliver Schulz
3436c3b14d Added ByteString1.apply(bytes, startIndex, length) 2012-05-18 01:09:00 +02:00
Oliver Schulz
322edb2eca Introduced ContByteString to complement CompactByteString
Many operations are necessarily more efficient on contiguous data
(represented by a contiguous part of an array) than on chunked data
(e.g. wrapping in a ByteBuffer, etc.).

It should be possibly to check whether a ByteString fulfills this
requirement and to specifically request such a ByteString for specific
applications. The new abstract ContByteString, as a natural bridge
between CompactByteString and ByteString, provides this.
2012-05-18 01:09:00 +02:00
Oliver Schulz
9076fbf268 Optimized ByteString1.++ 2012-05-18 01:09:00 +02:00
Oliver Schulz
a8030b0bf0 Optimized CompactByteString.apply methods for the case of empty input 2012-04-24 23:38:48 +02:00
Oliver Schulz
68d073203c Renamed ByteString.ByteStringCompact to ByteString.ByteString1C
Avoids confusing ByteStringCompact with CompactByteString and fits in
well with siblings ByteString1 and ByteStrings.

Also improved class description.
2012-04-24 23:16:05 +02:00
Oliver Schulz
ecef10eabc Added CompactByteString
* CompactByteString provides an instance of ByteString that is
  guaranteed to be compact and has performance-optimized element
  acces (since no range-checking is necessary)

* sealed abstract class ByteString, since the implementations of
  ByteString1 and ByteStings assume a fixed set of ByteString
  classes (in pattern matching).
2012-04-23 20:11:16 +02:00
Oliver Schulz
1453170c96 Fixed ByteStringBuilder.resizeTemp
resizeTemp didn't update _tempCapacity, causing ByteStringBuilder to
create a new _temp array on each call of +=.
2012-04-20 14:10:10 +02:00
Jonas Bonér
4923d9a1a8 Added copyright header.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-16 10:51:38 +01:00
Viktor Klang
9de08bb4ce Review comments addressed 2012-01-25 16:23:06 +01:00
Viktor Klang
f7a45c0e8f Removing dead imports from akka-actor 2012-01-25 15:38:04 +01:00
Derek Williams
d5616e123b Scaladoc for ByteString 2012-01-20 13:38:22 -07:00
Derek Williams
a1f9b81ce9 Update IO to new iteratee based api 2011-12-31 09:18:37 -07:00
Derek Williams
9c30aea161 Combine ByteString and ByteRope 2011-06-05 14:04:18 -06:00
Derek Williams
8b166454bf Add test of basic Redis-style key-value store 2011-05-27 22:52:06 -06:00
Derek Williams
4cc901c708 Add ByteRope for concatenating ByteStrings without copying 2011-05-27 18:53:18 -06:00
Derek Williams
e165d35273 remove unused val 2011-05-26 19:28:45 -06:00