Commit graph

428 commits

Author SHA1 Message Date
paxel
9e114cf26d
made runtime build for JDK8 under all JDKs (8++) (#109)
* Update pom.xml

made runtime build for JDK8 under all JDKs (8++)

* Update runtime/pom.xml

use more-standard syntax

Co-authored-by: David Renshaw <dwrenshaw@gmail.com>
2021-08-18 10:02:33 -04:00
David Renshaw
1966572eca update version numbers to 0.1.10-SNAPSHOT 2021-07-16 11:38:03 -04:00
David Renshaw
80f5b0447a prepare for 0.1.9 release 2021-07-16 11:10:45 -04:00
David Renshaw
b8a5a99ef6
try adding maven.compiler.release flag (#104) 2021-07-14 15:41:56 -04:00
David Renshaw
f98e0fc6ef bump version to 0.1.9-SNAPSHOT 2021-05-31 08:45:24 -04:00
David Renshaw
01cf6c0ebf release v0.1.8 2021-05-31 08:33:52 -04:00
David Renshaw
a55b869305 implement MessageBuilder.unsafeConstructFromMessageReader() 2021-05-24 13:06:42 -04:00
David Renshaw
a078df7e4d add support for directly serializing a MessageReader
Previously, you would need to copy the message into a MessageBuilder first.
2021-05-24 11:49:20 -04:00
David Renshaw
d310db1e88 Prevent potential integer overflow in BuilderArena.allocate(). 2021-05-13 17:49:01 -04:00
David Renshaw
754184fd74 bump version numbers to 0.1.8-SNAPSHOT 2021-05-12 21:00:16 -04:00
David Renshaw
5bf2c368e3 0.1.7 release 2021-05-12 20:57:00 -04:00
David Renshaw
4ec14e39f9 be more careful about integer overflow in Serialize.read()
Previously, we were attempting to read the entire message
in one call to fillBuffer(). This was doomed to fail
if the message had more than Integer.MAX_VALUE bytes.

After this diff, we will call fillBuffer() separately for each
segment. This approach turns out to be simpler, too.
It might imply a small performance hit for messages with
many small segments, but such messages are discouraged anyway.

This diff also adds more overflow checking in the surrounding
logic.
2021-05-12 20:13:52 -04:00
David Renshaw
a6c5240790 bump version numbers to 0.1.7-SNAPSHOT 2021-05-11 21:49:54 -04:00
David Renshaw
ee7e9a0d07 publish 0.1.6 2021-05-11 21:46:25 -04:00
David Renshaw
8dbd5cf25f make new unit test less memory intensive 2021-05-11 21:12:10 -04:00
David Renshaw
eb73990798 fix potential overflow in DefaultAllocator
Fixes a bug where the allocator's `nextSize` variable could overflow
and become negative, causing more segments to be allocated than expected.

Also removes a duplicate `this.nextSize += size` statement that
likely made the problem worse.
2021-05-11 21:07:37 -04:00
David Renshaw
07e47d4104 add some documentation about the new 'no limit' option 2021-05-09 14:53:54 -04:00
Wim Dumon
cc4fa2bbc8 Offer option to disable traversalLimitInWords
Use case: large trusted input data file, mapped in memory by
MappedByteBuffer, which is often re-queried so a sensible
limit cannot be set.
2021-04-28 17:47:58 +02:00
Vaci Koblizek
950ba824b9 use java11 switches and completablefutures 2021-04-05 11:05:52 +01:00
Vaci Koblizek
1bf1228756 revert to java version 11 2021-04-05 11:05:52 +01:00
Vaci Koblizek
22e5ab34a9 Merge remote-tracking branch 'sandstorm/master' 2020-12-07 19:35:51 +00:00
Vaci Koblizek
c7621d1de3 whenMoreResolved should return null when resolved 2020-12-07 18:55:54 +00:00
David Renshaw
cf62cd4a58 Fix build on Fedora 33 2020-12-06 20:47:53 -05:00
Vaci Koblizek
21d3eba0e5 remove CompletableFutureWrapper 2020-12-05 14:55:28 +00:00
Vaci Koblizek
25c50b105d moar capTable context maintenance 2020-12-03 15:06:35 +00:00
Vaci Koblizek
196b82515c ensure StructBuilders and StructLists maintain capTable context 2020-12-03 14:25:15 +00:00
Vaci Koblizek
f74ad80dea remove cancellation completion for now 2020-12-03 14:25:15 +00:00
Vaci Koblizek
53eeed97e2 make direct call if QueuedClient has resolved 2020-12-01 17:12:49 +00:00
Vaci Koblizek
3b1f5f416c use lists for queued calls, clean up on resolution 2020-12-01 17:08:27 +00:00
Vaci Koblizek
837f1b324c add AnyList 2020-11-30 20:22:36 +00:00
Vaci Koblizek
2b5bf0eb21 tidy up branding and implement QueuedClient,getBrand() correctly 2020-11-30 18:52:28 +00:00
Vaci Koblizek
c04bdb8088 add clienthook commentary 2020-11-30 18:42:04 +00:00
Vaci Koblizek
d02e460f06 tidy up response and pipeline construction 2020-11-30 17:47:37 +00:00
Vaci Koblizek
66ee9471f9 replace Integers with FileDescriptors 2020-11-28 09:55:53 +00:00
Vaci Koblizek
ab44843b12 QueuedClient should stop queuing calls once it has resolved 2020-11-27 15:24:41 +00:00
Vaci Koblizek
789d2df6e4 replace PipelineOp[] with short[] 2020-11-27 13:30:35 +00:00
Vaci Koblizek
a53f7db25e remove extraneous ArrayList wrapper from ops key 2020-11-27 11:30:12 +00:00
Vaci Koblizek
250f14e2f4 simplify QueuedPipeline promise 2020-11-27 11:25:39 +00:00
Vaci Koblizek
6e5bcc62ae replace typeless requests with anonymous implementations 2020-11-27 10:19:06 +00:00
Vaci Koblizek
585a21259e remove unused AnyRequest.send() 2020-11-27 09:50:26 +00:00
Vaci Koblizek
a3837e6010 message loop exit logging level as FINE 2020-11-26 16:09:07 +00:00
Vaci Koblizek
a2a17ea3cb remove CapabilityServerSetBase, add test case 2020-11-26 16:03:13 +00:00
Vaci Koblizek
772108ff12 add testEmbargoNull test
throw RpcExceptions rather than RuntimeExceptions
2020-11-26 15:06:20 +00:00
Vaci Koblizek
e3d52a0bbd use gather writes for AsynchronousSocketChannels 2020-11-26 14:22:13 +00:00
Vaci Koblizek
de85613570 consistent naming of factories 2020-11-26 13:07:28 +00:00
Vaci Koblizek
07f8f22acd implement call blocking stack 2020-11-25 19:43:18 +00:00
Vaci Koblizek
941a254e41 by default, streaming calls fal back to regular calls 2020-11-25 15:53:25 +00:00
Vaci Koblizek
2d072a6b12 implement streaming requests 2020-11-25 15:47:02 +00:00
Vaci Koblizek
594e5e3a28 reduce visibility of cap contexts 2020-11-24 17:48:08 +00:00
Vaci Koblizek
5a27b4b860 tidy up Builder refs in AnyPointer.Pipeline 2020-11-24 15:38:07 +00:00
Vaci Koblizek
9465ffde5b add default getBrand to RequestHook 2020-11-24 15:37:28 +00:00
Vaci Koblizek
119a682d4d memoise queuespipeline caps. use queues to order queuedclient resolution 2020-11-23 19:56:54 +00:00
Vaci Koblizek
1cadca604e add releaseCall to delay call execution 2020-11-20 17:07:45 +00:00
Vaci Koblizek
e314d26ab3 use sendInternal rather than calling hook directly 2020-11-20 16:35:38 +00:00
Vaci Koblizek
d3e639eaee add capability tail call test 2020-11-20 16:32:42 +00:00
Vaci Koblizek
1366e28fd5 simplify conversion to CompletableFuture<Void> 2020-11-19 17:36:48 +00:00
Vaci Koblizek
68edac583b remove unused getVatIdFactory() 2020-11-19 15:26:21 +00:00
Vaci Koblizek
ad17a4c148 refactor connection and disconnection 2020-11-13 17:57:49 +00:00
Vaci Koblizek
c0a57d304f merge resolveTask into constructor 2020-11-13 08:10:59 +00:00
Vaci Koblizek
69a045deec make requests autoclosable and cleanup disconnection 2020-11-12 22:15:07 +00:00
Vaci Koblizek
4e9e7f4068 cancellation 2020-11-12 21:27:44 +00:00
Vaci Koblizek
f3bb329e96 generalise AnyPointer setAs AnyPointer 2020-11-10 11:42:23 +00:00
Vaci Koblizek
91a93734e1 generalise AnyPointer setAs AnyPointer 2020-11-10 11:34:26 +00:00
Vaci Koblizek
dcd9eb37c7 add override to set clients from completablefutures 2020-11-09 21:43:32 +00:00
Vaci Koblizek
cefd8eaaa2 add AnyStruct 2020-11-09 18:08:56 +00:00
Vaci Koblizek
f2df5c2191 implement rpc tail calls 2020-11-09 18:08:07 +00:00
Vaci Koblizek
cee3aa79ae set AnyPointer from AnyPointer 2020-11-09 18:08:00 +00:00
Vaci Koblizek
f8cdfdea09 set AnyPointer from AnyPointer 2020-11-09 18:02:05 +00:00
Vaci Koblizek
f640a8ffd4 allow copyPointer to copy capabilities 2020-11-09 17:42:05 +00:00
Vaci Koblizek
9e6d495d56 add runtime-rpc module and refactor project 2020-11-08 17:24:42 +00:00
Vaci Koblizek
6b8898c27b make noop public 2020-11-07 16:01:07 +00:00
Vaci Koblizek
45d1470907 make anypipeline.noop public 2020-11-07 15:59:25 +00:00
Vaci Koblizek
66fc361386 stub out two-party test suite for now 2020-11-07 15:58:39 +00:00
Vaci Koblizek
0ce52fe135 add resolve test and fix handleResolve bugs 2020-11-06 15:32:20 +00:00
Vaci Koblizek
850a603877 oops, correct assertion of missing question 2020-11-06 13:58:36 +00:00
Vaci Koblizek
e8a118f364 add overload for messageSizeHint 2020-11-06 13:58:36 +00:00
Vaci Koblizek
7d2e541603 fix getNetwork bug, remove unnecessary TwoPartVatNetwork specialisation 2020-11-06 13:58:36 +00:00
Vaci Koblizek
1f004779d4 rpc tests 2020-11-05 21:38:43 +00:00
Vaci Koblizek
054213a0ac add rpc bootstrap factory 2020-11-05 21:38:43 +00:00
Vaci Koblizek
9d023f0449 fix generic pipeline params. add (non-generic, for now) capability list 2020-11-05 21:38:43 +00:00
Vaci Koblizek
518769247b remove generated schema.schema 2020-11-05 17:59:05 +00:00
Vaci Koblizek
02789acf29 add TestInterface.baz. Stub out broken TestGenerics 2020-11-05 17:59:05 +00:00
Vaci Koblizek
630d71d4e5 implement more capability tests 2020-11-05 17:59:05 +00:00
Vaci Koblizek
33d16c4fb6 add READY_NOW 2020-11-05 17:59:05 +00:00
Vaci Koblizek
8565c40c14 capability test suite 2020-11-05 17:59:05 +00:00
Vaci Koblizek
a10e48d140 test schemas 2020-11-05 17:59:05 +00:00
Vaci Koblizek
d515500996 get rid of PipelineBase and PipelineImpl again 2020-11-05 17:59:05 +00:00
Vaci Koblizek
8eacc8cada major refactor of RemotePromise and Pipeline 2020-11-05 17:59:05 +00:00
Vaci Koblizek
2d8fe31a59 generic interface generation (WIP 2020-11-05 17:59:05 +00:00
Vaci Koblizek
86ccdd5a55 move cleanup to end of message loop 2020-11-05 17:59:05 +00:00
Vaci Koblizek
94ca2a04e6 remove sync modifier from getConnectionState and tidy 2020-11-05 17:59:05 +00:00
Vaci Koblizek
f2b2fc769f go back to using CompletableFuture (sigh) 2020-11-05 17:59:05 +00:00
Vaci Koblizek
c903cbf193 return this network via asConnection() 2020-11-05 17:59:05 +00:00
Vaci Koblizek
4f8c5faef4 tidy up access to hooks 2020-11-05 17:59:05 +00:00
Vaci Koblizek
dc4f8d07b4 dump more message types 2020-11-05 17:59:05 +00:00
Vaci Koblizek
1bf4bfc8a6 add ServerSets 2020-11-05 17:59:05 +00:00
Vaci Koblizek
4bb8f6a51f remove synchronised modifier from handleMessage 2020-11-05 17:59:05 +00:00
Vaci Koblizek
d6a163990e fix RpcState tests 2020-11-05 17:59:05 +00:00
Vaci Koblizek
88a8140d70 use Java 14 to compile all modules 2020-11-05 17:59:05 +00:00
Vaci Koblizek
13156f9255 remove extraneous writeTarget method 2020-11-05 17:59:05 +00:00