Details
-
Type:
Enhancement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: 0.2.0-beta9
-
Component/s: None
-
Labels:None
Description
In particular, no boxing of individual bytes or multiple en/decoding steps should be involved.
This implies that:
1. all string values should remain byte[] coming out of the bencode protocol support (which makes it more compliant with bencode anyway)
2. the string decoding should occur in the bencode transport impl
3. all string values should be decoded, except for those named in a reserved slot (say, "-unencoded")
All map keys should always be decoded to Strings.
While nREPL should continue to be fully compatible with Clojure 1.2.x, let's not kill ourselves trying to optimize for 1.2.x as well as Clojure >= 1.3.0; if necessary, just make sure the latter is fast. If 1.2.x benefits as well, then good.
Releasing -beta9 now; further discussion of unencoded value semantics can continue elsewhere…