Skip to content

Commit 2d62f8b

Browse files
committed
Adding Ext and Fixext support to MpEncoder
1 parent fbfc347 commit 2d62f8b

File tree

16 files changed

+86
-1
lines changed

16 files changed

+86
-1
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typecodes
2+
ext16
3+
^16rC8
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typecodes
2+
ext32
3+
^16rC9
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typecodes
2+
ext8
3+
^16rC7

repository/MessagePack-Core.package/MpConstants.class/methodProperties.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
"bin32" : "mu 8/11/2013 23:52",
77
"bin8" : "mu 8/11/2013 23:51",
88
"double" : "mu 6/23/2011 12:01",
9+
"ext16" : "mu 9/22/2013 00:33",
10+
"ext32" : "mu 9/22/2013 00:34",
11+
"ext8" : "mu 9/22/2013 00:33",
912
"false" : "mu 6/23/2011 12:01",
1013
"fixext1" : "mu 8/11/2013 23:54",
1114
"fixext16" : "mu 8/11/2013 23:54",
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
writing-ext
2+
writeExt: data as: type
3+
| sz |
4+
sz := data size.
5+
sz < 256 ifTrue: [^self writeExt8: data as: type].
6+
sz < 65536 ifTrue: [^self writeExt16: data as: type].
7+
sz < 4294967296 ifTrue: [^self writeExt32: data as: type].
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
writing-ext
2+
writeExt16: data as: type
3+
self writeStream nextPut: MpConstants ext16.
4+
MpPortableUtil default writeUint16: data size to: self writeStream.
5+
self writeStream
6+
nextPut: type;
7+
nextPutAll: data
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
writing-ext
2+
writeExt32: data as: type
3+
self writeStream nextPut: MpConstants ext32.
4+
MpPortableUtil default writeUint32: data size to: self writeStream.
5+
self writeStream
6+
nextPut: type;
7+
nextPutAll: data
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
writing-ext
2+
writeExt8: data as: type
3+
self writeStream nextPut: MpConstants ext8;
4+
nextPut: data size;
5+
nextPut: type;
6+
nextPutAll: data
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
writing-fixext
2+
writeFixext: data as: type
3+
| sz |
4+
sz := data size.
5+
sz = 1 ifTrue: [^self writeFixext1: data as: type].
6+
sz = 2 ifTrue: [^self writeFixext2: data as: type].
7+
sz = 4 ifTrue: [^self writeFixext4: data as: type].
8+
sz = 8 ifTrue: [^self writeFixext8: data as: type].
9+
sz = 16 ifTrue: [^self writeFixext16: data as: type].
10+
11+
self signalError
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
writing-fixext
2+
writeFixext1: data as: type
3+
self writeStream nextPut: MpConstants fixext1;
4+
nextPut: type;
5+
nextPut: data

0 commit comments

Comments
 (0)