Amer Banet
906bab78f9
Added pointer index check to StructReader._pointerFieldIsNull and StructBuilder._pointerFieldIsNull
...
This fixes an IndexOutOfBoundsException when checking for existence of later added fields which are only known on the receiver side (working with different schema versions)
2017-12-13 21:43:46 +01:00
David Renshaw
349d2bfde7
update method name is error string
2017-04-24 19:35:12 -04:00
David Renshaw
14237610fb
Fix bug in double-far creation and add StructListUpgradeDoubleFar test.
2017-02-27 18:42:38 -05:00
David Renshaw
1fa0e7a806
DecodeException for unexpected FAR pointer in copyPointer()
2017-02-27 12:10:36 -05:00
David Renshaw
a344568fe8
Adjust error message for the case when copyPointer() hits a far pointer.
...
Malformed input can trigger this case and it does not indicate a bug
in the library.
2017-02-26 16:26:38 -05:00
David Renshaw
b27c5d685d
Fix problem in transferPointer() that would have become a bug once orphans are implemented. See 4d4f831a3d
2016-01-12 22:25:35 -05:00
David Renshaw
0fecc0e9b4
Handle zero-sized struct in transferPointer().
2015-12-16 21:55:03 -05:00
David Renshaw
98500483c9
bugfix: packed input reading was broken for runs longer than 128 words.
2015-09-19 16:11:16 -04:00
David Renshaw
252acd2b32
typo
2015-08-17 22:14:50 -04:00
David Renshaw
2127084a53
Update ByteBuffer.position() one last time before returning from Serialize.read().
2015-08-17 22:13:06 -04:00
David Renshaw
7f13ed114a
Some minor nitpicks.
2015-06-13 15:03:20 -07:00
Mark Raynsford
63c56646de
Implement computeSerializedSizeInWords for non-packed messages. Addresses #33 .
2015-06-13 15:01:36 +00:00
David Renshaw
49a5c6ba64
Implementent MessageBuilder.getRoot() and MessageBuilder.setRoot().
2015-06-11 22:40:30 -04:00
Ben Challenor
d2634a21d0
Support reading all segments from a single ByteBuffer, with tests
...
Sometimes it is desirable to read all segments from a single ByteBuffer,
e.g. if reading messages from a memory-mapped file.
Here we add such support, and add a test to check that the ByteBuffer
read behaves the same as the ReadableByteChannel read.
2015-05-03 19:04:07 +01:00
Ben Challenor
28fac634bc
Idiomatic scala - remove explicit return
2015-05-03 15:43:09 +01:00
Ben Challenor
c601c6805f
Idiomatic scala - override method with val
2015-05-03 15:42:26 +01:00
Ben Challenor
50f4fe9d51
Idiomatic Scala - remove semicolons
...
Note this means that a few newlines have to be added to eliminate
ambiguity.
2015-05-03 15:35:07 +01:00
Ben Challenor
2ec3b6b125
Rename Scala files to match class names
2015-05-03 15:05:41 +01:00
David Renshaw
717d977233
Fix integer overflow issues.
2015-04-20 21:10:52 -04:00
David Renshaw
0e8fe55593
Fix integer overflow bugs.
2015-03-08 20:39:44 -04:00
David Renshaw
2b1d5c201e
Fix integer underflow bug.
2015-03-08 20:09:56 -04:00
David Renshaw
6cd61ff149
Prevent CPU amplification attack.
2015-03-03 10:46:42 -05:00
David Renshaw
a127b08191
add missing return statement
2015-03-03 09:44:04 -05:00
David Renshaw
8a06a595f6
stub package documentation
2015-01-29 10:33:45 -05:00
David Renshaw
855f635e50
finish implementation of followBuilderFars()
2014-11-18 08:49:02 -05:00
David Renshaw
9ba6f3970c
finish implementation of transferPointer
2014-11-17 18:42:44 -05:00
David Renshaw
57f8a5cdfc
struct field upgrades
2014-11-17 17:39:16 -05:00
David Renshaw
a5f234136f
more support for struct list upgrades
2014-11-16 21:17:56 -05:00
David Renshaw
6174de6744
builder upgrade from List(Primitive) to List(Struct)
2014-11-16 19:06:35 -05:00
David Renshaw
00cc63dfe8
reading double far pointers
2014-11-16 14:14:15 -05:00
David Renshaw
fd3efb080e
add a Zeroing test and fix some bugs
2014-11-09 16:32:51 -05:00
David Renshaw
a7d3175f60
finish zeroObject(). still needs tests
2014-11-09 13:36:24 -05:00
David Renshaw
2902b6c753
working on WireHelpers.zeroObject
2014-11-04 21:53:34 -05:00
David Renshaw
5f98572b7c
setter method for constrained anypointer fields
2014-10-29 09:26:50 -04:00
David Renshaw
dabb9a6ee6
use wildcards
2014-10-28 19:43:25 -04:00
David Renshaw
a578dd1332
drat, this doesn't quite work
2014-10-28 18:23:51 -04:00
David Renshaw
20c20702e1
plugging things in
2014-10-28 15:54:40 -04:00
David Renshaw
4870faf255
init methods for generic fields
2014-10-28 12:51:01 -04:00
David Renshaw
77242cd15d
getters
2014-10-28 11:47:29 -04:00
David Renshaw
7405e3171f
oops, forgot to add PointerFactory
2014-10-27 21:19:31 -04:00
David Renshaw
4c2b7668f0
working with factories
2014-10-27 21:14:16 -04:00
David Renshaw
37516ab6d6
fix bug
2014-10-27 08:54:41 -04:00
David Renshaw
7357bc344e
default text builder was broken
2014-10-26 19:24:30 -04:00
David Renshaw
10f775a11e
some work on getWritableStructListPointer. still buggy
2014-10-26 18:56:58 -04:00
David Renshaw
ec024a2597
move WirePointer.get() to SegmentReader
2014-10-26 18:22:48 -04:00
David Renshaw
29a51b067a
get rid of bit0Offset
2014-10-26 10:13:12 -04:00
David Renshaw
9c5b64b98b
get rid of struct list packing optimization
2014-10-26 09:31:09 -04:00
David Renshaw
fb239f612f
fix a few more bugs
2014-10-18 21:25:38 -04:00
David Renshaw
26942d46c8
fix some more bugs
2014-10-17 20:53:51 -04:00
David Renshaw
fafb104401
fix one bug. there are more
2014-10-17 18:13:27 -04:00
David Renshaw
8e1de6012c
make somewhat less buggy
2014-10-17 09:36:16 -04:00
David Renshaw
1db37b741d
setStructPointer, setListPointer. still buggy
2014-10-16 18:54:11 -04:00
David Renshaw
1d69d9a7ab
a bit more
2014-10-15 21:43:57 -04:00
David Renshaw
561ca944c8
more copyPointer
2014-10-15 20:25:45 -04:00
David Renshaw
1ab3601bf0
a bit of work on copyPointer
2014-10-15 18:34:05 -04:00
David Renshaw
7bc197456d
handle empty struct allocation
2014-10-14 20:17:07 -04:00
David Renshaw
9e0bd28c60
asByteBuffer for Buidlers
2014-10-13 20:20:51 -04:00
David Renshaw
4adb78bb89
Text.Reader.asByteBuffer()
2014-10-13 20:11:36 -04:00
David Renshaw
be23d22a89
allow the List(Primitive) -> List(Struct) upgrade path, for now
2014-10-11 12:46:47 -04:00
David Renshaw
c941f5960f
FieldSize -> ElementSize
2014-10-11 09:25:31 -04:00
David Renshaw
40fc0193c2
some work on copyPointer
2014-10-11 09:18:41 -04:00
David Renshaw
cc5ec73ef5
rename some SerializePacked methods
2014-10-10 13:34:32 -04:00
David Renshaw
8cc1cfa60c
ReaderOptions
2014-10-10 12:10:15 -04:00
David Renshaw
03774fff34
add license comment to source files
2014-10-08 16:20:15 -04:00
David Renshaw
1a039892af
read limiting
2014-10-08 15:16:17 -04:00
David Renshaw
2ede4244b1
RefDefault
2014-10-08 13:37:26 -04:00
David Renshaw
6e9a325ca5
eradicate PointerBuilder
2014-10-08 12:22:58 -04:00
David Renshaw
b876c52ecd
get rid of PointerReader
2014-10-08 11:12:52 -04:00
David Renshaw
1cef64e2da
Text.factory, Data.factory
2014-10-08 11:00:22 -04:00
David Renshaw
dce3c46cf1
avoiding allocations of PointerReader and PointerBuilder
2014-10-08 09:24:48 -04:00
David Renshaw
b884ad11c4
reuse some code
2014-10-08 08:49:18 -04:00
David Renshaw
4d842f0ef7
abstracting
2014-10-07 22:35:08 -04:00
David Renshaw
a3c836c619
ListBuilder.Factory, ListReader.Factory
2014-10-07 21:21:15 -04:00
David Renshaw
b4f34cb393
FromStructReader -> StructReader.Factory
2014-10-07 17:47:42 -04:00
David Renshaw
3aefbb76e0
fill in a bit
2014-10-07 17:05:37 -04:00
David Renshaw
89ea97a401
inheritance for lists
2014-10-07 16:49:36 -04:00
David Renshaw
868cc5072d
bulk put
2014-10-07 13:14:07 -04:00
David Renshaw
6495ab1da8
get the tests passing once again
2014-10-07 12:19:30 -04:00
David Renshaw
24e4183fc0
asReader
2014-10-07 12:19:29 -04:00
David Renshaw
25a537c323
bring up to date
2014-10-07 12:19:29 -04:00
David Renshaw
7adaa91435
stop using ByteBuffer.mark()
2014-10-07 12:18:55 -04:00
David Renshaw
e05c743134
filling in the holes
2014-10-06 20:04:01 -04:00
David Renshaw
f84e1fa430
towards builder pointer defaults
2014-10-06 15:06:56 -04:00
David Renshaw
195d688970
list reader defaults
2014-10-06 14:54:15 -04:00
David Renshaw
de33553666
struct defaults
2014-10-06 14:05:59 -04:00
David Renshaw
f9dbcc3a53
some simplification
2014-10-06 11:58:33 -04:00
David Renshaw
80e1471323
list constants
2014-10-06 11:15:33 -04:00
David Renshaw
710c03f7f9
oh right, endianness
2014-10-06 10:17:39 -04:00
David Renshaw
95d0898c3f
basic support for struct constants. still broken
2014-10-06 09:35:26 -04:00
David Renshaw
a3f3c88e35
setStruct and visibility
2014-10-05 10:01:43 -04:00
David Renshaw
da13c77541
more ListList
2014-10-04 13:27:18 -04:00
David Renshaw
a5e91d9f7d
a start on ListList
2014-10-04 11:52:51 -04:00
David Renshaw
389033d1be
Data defaults
2014-10-03 13:24:51 -04:00
David Renshaw
dc771a07cb
default text fields
2014-10-03 12:01:09 -04:00
David Renshaw
b269458232
thread safety; const indentation
2014-10-03 10:40:00 -04:00
David Renshaw
7e49ede5a3
get EnumList to work
2014-10-03 09:40:36 -04:00
David Renshaw
ca271e2824
a start on EnumList
2014-10-02 18:01:21 -04:00
David Renshaw
c44e73267b
Data constants
2014-10-02 15:27:07 -04:00
David Renshaw
df389a939b
remove InternalError
2014-10-02 12:23:29 -04:00
David Renshaw
c0da82a6b8
assertions
2014-10-02 12:19:34 -04:00
David Renshaw
6ce41d20bd
generate init methods for AnyPointer fields
2014-10-02 11:54:37 -04:00
David Renshaw
2ed3f5f76c
expose schema bytes as read-only ByteBuffer, not byte[]
2014-10-02 08:46:36 -04:00
David Renshaw
32d2a7bbda
don't use values() for Which
2014-10-01 21:32:59 -04:00
David Renshaw
db04e2da5e
simplify naming for serialize functions
2014-10-01 13:15:46 -04:00
David Renshaw
fdb7c8ad9c
_UNKNOWN variant for enums
2014-10-01 12:01:24 -04:00
David Renshaw
31995a1fb9
fix bug: set inner buffer limit
2014-09-29 15:15:37 -04:00
David Renshaw
8264742779
enable packed encode in benchmarks. still some bugs
2014-09-29 14:34:17 -04:00
David Renshaw
b186b4b794
get packed input to work for AddressBook
2014-09-28 14:10:09 -04:00
David Renshaw
25c9e6af0d
fix some bugs
2014-09-28 13:09:18 -04:00
David Renshaw
9f0c130aa5
SerializePacked
2014-09-28 10:20:23 -04:00
David Renshaw
75a0332921
all tests pass for PackedInputStream
2014-09-27 10:35:16 -04:00
David Renshaw
8f34106347
basics in place for PackedInputStream
2014-09-27 10:02:07 -04:00
David Renshaw
cea3c9740a
a bit of progress on PackedInputStream
2014-09-27 00:56:21 -04:00
David Renshaw
e9614ab094
write the rest of PackedOutputStream.write()
2014-09-26 14:10:14 -04:00
David Renshaw
5549d4dbf7
pass another test
2014-09-26 13:55:02 -04:00
David Renshaw
09a20b9430
pass a few more tests
2014-09-26 13:06:54 -04:00
David Renshaw
ae24deaba9
get a nontrivial test to pass
2014-09-26 11:54:04 -04:00
David Renshaw
0ea0d1f909
progress on SerializePacked
2014-09-26 11:27:58 -04:00
David Renshaw
983b4f4238
add getters and setters for primitive lists. fixes #6
2014-09-25 18:07:40 -04:00
David Renshaw
5f44c60a5c
stubs for packed io streams
2014-09-25 14:40:44 -04:00
David Renshaw
a59a5c403e
basic support for initGroup
2014-09-24 12:18:52 -04:00
David Renshaw
4464f3f728
floating point defaults
2014-09-12 15:09:54 -04:00
David Renshaw
980cf133d0
integer defaults
2014-09-12 14:34:24 -04:00
David Renshaw
a7a4e0c79b
oops, forgot to add this
2014-09-10 14:27:23 -04:00
David Renshaw
1aec5ea929
working on BufferedInputStreamWrapper
2014-09-05 15:52:05 -04:00
David Renshaw
3272f8902b
fix ByteChannelMessageReader for multi-segment messages
2014-09-05 11:43:46 -04:00
David Renshaw
5f5cb24241
DataList and some StructList tests
2014-09-04 16:00:14 -04:00
David Renshaw
3c6d02ecdd
add some null checks
2014-09-04 15:25:56 -04:00
David Renshaw
e65b934db0
slight simplifications
2014-09-04 11:41:37 -04:00
David Renshaw
9d23cd8cb0
can now run passBybytes, but it's broken
2014-09-04 11:03:59 -04:00
David Renshaw
d33af5fa71
ArrayInputStream
2014-09-03 17:50:23 -04:00
David Renshaw
196f67bb5d
stop using GatheringByteChannel
2014-09-03 17:21:44 -04:00
David Renshaw
5d2b5df2b9
hm. we may need to implement GatheringByteChannel
2014-09-03 15:06:22 -04:00
David Renshaw
b0998afc3e
BufferedWritableByteChannelWrapper.write()
2014-09-03 14:12:46 -04:00
David Renshaw
2e41cc0623
TextList code generation and tests
2014-09-03 10:47:26 -04:00
David Renshaw
fcda75e732
TextList runtime
2014-09-02 21:24:00 -04:00
David Renshaw
b03043929b
a start on buffered byte channels
2014-06-30 20:24:06 -04:00
David Renshaw
e87a9df4de
ByteChannelMessageReader
2014-06-30 11:45:51 -04:00
David Renshaw
dbeb32dcca
write until hasRemaining() == false
2014-06-30 10:30:04 -04:00
David Renshaw
9203047327
CatRank.setupRequest
2014-06-24 10:38:30 -04:00
David Renshaw
b5168b17e5
work on CatRank
2014-06-24 09:45:44 -04:00
David Renshaw
c797a7d2a4
add a remove() method, which apparently java 8 did not need
2014-06-20 20:52:40 -04:00
David Renshaw
8937d0607a
StructList.Reader.Iterator
2014-06-20 20:45:00 -04:00
David Renshaw
739a34dde8
making TestCase generic
2014-06-20 16:07:46 -04:00
David Renshaw
b55927b6ae
StructFactory
2014-06-20 15:37:59 -04:00
David Renshaw
1a3561c0f7
fix multi-segment reading
2014-06-17 21:49:42 -04:00
David Renshaw
331c4f4e89
more readListPointer
2014-06-17 21:30:30 -04:00
David Renshaw
fdfcbd0427
multi-segment readers
2014-06-17 21:06:50 -04:00
David Renshaw
1689a743d2
more followFars
2014-06-17 20:35:03 -04:00
David Renshaw
9ec8a9b67e
followFars easy case
2014-06-17 19:41:19 -04:00
David Renshaw
bf7bcaa56f
add FarPointer.set and WirePointer.setOffsetAndKind. unit tests pass
2014-06-17 17:56:33 -04:00
David Renshaw
58417744ff
simplify List and Struct Pointer getters
2014-06-16 20:00:01 -04:00
David Renshaw
df2233a52b
followBuilderFars. does not pass unit tests yet
2014-06-16 19:46:33 -04:00
David Renshaw
449ef9f503
finish allocate
2014-06-16 14:49:12 -04:00
David Renshaw
5e0af863b3
AllocateResult
2014-06-16 14:05:59 -04:00
David Renshaw
b63cfb11f1
BuilderArena.allocate
2014-06-15 16:38:26 -04:00
David Renshaw
0c56671f3c
more MessageBuilder constructors
2014-06-15 14:17:32 -04:00
David Renshaw
68a07c63c1
fill out the CarSales functions
2014-06-14 20:26:24 -04:00
David Renshaw
b39b352dc6
getWritableListPointer
2014-06-14 14:32:54 -04:00
David Renshaw
01edadb4c6
initListPointer
2014-06-13 22:15:36 -04:00
David Renshaw
6239114885
make compatible with java 6 once again
2014-06-13 17:24:39 -04:00
David Renshaw
6364670998
PointerBuilder.getText()
2014-06-13 16:14:16 -04:00
David Renshaw
d1e938130f
getWritableStructPointer
2014-06-05 18:25:29 -04:00
David Renshaw
bbd0333077
fill in a few more tests
2014-06-03 21:52:52 -04:00
David Renshaw
ff931e2cac
a separate class for each PrimitiveList
2014-06-03 20:27:15 -04:00
David Renshaw
da8d0d1f56
fix --help message
2014-05-28 21:12:03 -04:00
David Renshaw
245ff0b15d
voidlist at least compiles
2014-05-28 21:02:53 -04:00
David Renshaw
3d049d5803
fix the build
2014-05-28 19:30:37 -04:00
David Renshaw
ea641a6736
Void is an actual value
2014-05-28 19:17:27 -04:00
David Renshaw
ffa4c7e2bb
thinking about PrimitiveList
2014-05-27 21:29:31 -04:00
David Renshaw
fc246671e4
stubs for Data
2014-05-27 17:29:23 -04:00
David Renshaw
d461bc40e2
floating point accessors
2014-05-26 16:32:48 -04:00
David Renshaw
d5de5f6419
add EncodingTest. sbt still not configured quite right
2014-05-26 16:09:50 -04:00
David Renshaw
a1be7d2e27
start trying to get EncodingTest configured
2014-05-25 18:42:26 -04:00
David Renshaw
904faa3a6c
StructBuilder tests
2014-05-25 10:02:52 -04:00
David Renshaw
05d1cc22c6
stub for next test
2014-05-24 22:54:35 -04:00
David Renshaw
25d40d3c79
switch to scalatest
2014-05-24 22:41:36 -04:00
David Renshaw
67df707a6f
fix bug in getBoolField
2014-05-24 22:21:41 -04:00
David Renshaw
adfa3cf29d
primitive tests
2014-05-24 22:03:39 -04:00
David Renshaw
ba0c18000a
add a test
2014-05-24 21:39:59 -04:00
David Renshaw
b46aa2ba92
it works
2014-05-24 15:09:59 -04:00
David Renshaw
a43b40fe7a
byte order
2014-05-24 14:52:27 -04:00
David Renshaw
94f76d3964
oops, forgot to add new file
2014-05-24 14:39:47 -04:00
David Renshaw
22a54fceaf
write some bytes to stdout. the bytes are wrong
2014-05-24 14:33:25 -04:00
David Renshaw
57c47cff4b
get group builder
2014-05-24 10:45:55 -04:00
David Renshaw
f0352680a0
init root
2014-05-24 10:12:44 -04:00
David Renshaw
2fa9e7bde9
use >>>, not >>
2014-05-22 17:45:48 -04:00
David Renshaw
e233fe1126
factory argument comes first
2014-05-21 21:20:33 -04:00
David Renshaw
ddbab77252
init StructList.Builder
2014-05-20 20:49:20 -04:00
David Renshaw
8b2655623f
initPeople
2014-05-20 19:59:40 -04:00
Adam Rosenberger
d5e0a8c02d
Cosmetic refactor: add final keyword where possible
2014-05-19 08:43:58 -04:00
Adam Rosenberger
dd286c6e17
Remove generator module and replace with compiler and runtime modules
2014-05-19 08:37:13 -04:00