Commit graph

418 commits

Author SHA1 Message Date
Vaci Koblizek
f999265165 Generate Capnproto RPC protocol from schema 2020-10-22 15:55:10 +01:00
Vaci Koblizek
cf5c4f1119 hook interfaces and broken implementations 2020-10-22 15:55:10 +01:00
Vaci Koblizek
57bacc9dd8 extract capabilities from wire pointers 2020-10-22 15:55:10 +01:00
Vaci Koblizek
6c35c0f1d5 Allow builders and readers to be imbued with a capability table 2020-10-22 15:55:10 +01:00
Vaci Koblizek
86dfbd123d Serialization to and from AsynchronousByteChannel 2020-10-22 15:55:10 +01:00
Vaci Koblizek
73bc7a6569 use Java version 10 2020-10-22 15:55:10 +01:00
dependabot[bot]
9d06495851 Bump junit from 4.12 to 4.13.1 in /runtime
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-13 18:20:37 -04:00
David Renshaw
880adcfe5e set sourceEncoding to UTF-8 2020-05-13 17:56:01 -04:00
David Renshaw
4cc34896b4 add StructList.newFactory method, allowing type parameters to be inferred 2020-05-12 23:29:16 -04:00
David Renshaw
f98f187538 bump version numbers 2020-05-12 23:03:41 -04:00
David Renshaw
74b645217f configure publishing to the Central Repository, and publish version 0.1.5 2020-05-12 22:41:15 -04:00
David Renshaw
94d15d7720 fix problems found by -Xlink:unchecked 2020-05-12 20:41:36 -04:00
David Renshaw
79ffb37b4c sbt -> maven, scalatest -> junit 2020-05-12 20:17:47 -04:00
David Renshaw
0e99996372 Throw exception on 0-byte read. 2020-05-08 09:09:18 -04:00
Yann Massard
a16a8b517c #78 improve exception handling 2020-04-29 07:42:51 -04:00
David Renshaw
09eec64941 make Allocator public 2019-05-20 18:12:19 -04:00
David Renshaw
1d51317074 update benchmark to use scratch space if requested 2019-05-04 11:09:07 -04:00
David Renshaw
f00f02de77 make DefaultAllocator public and add a default constructor 2019-05-04 10:43:51 -04:00
David Renshaw
755114c1a3 implement scratch space reuse 2019-05-04 10:33:55 -04:00
David Renshaw
3c60400dae make SUGGESTED_FIRST_SEGMENT_WORDS the default 2019-05-04 09:33:09 -04:00
David Renshaw
0ff0cfa338 support custom allocators for builder segments 2019-05-04 09:33:09 -04:00
David Renshaw
c6762ff0f7 implement StructList.Builder.setWithCaveats() 2019-03-23 10:32:01 -04:00
David Renshaw
45fd638c7c add some @Override annotations 2019-03-16 08:49:10 -04:00
David Renshaw
6dcfa30e10 ArrayInputStream: return -1 on end-of-stream 2018-06-10 13:25:40 -04:00
David Renshaw
edcbf1f61c fix bug in ArrayInputStream.read() 2018-06-10 09:32:38 -04:00
David Renshaw
f4411ba2c7 implement asReader() for list types 2018-02-03 14:17:42 -05:00
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