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
Vaci Koblizek
cd1fc4c460
make embargo.diembargo final
2020-11-05 17:59:05 +00:00
Vaci Koblizek
e19faf0b81
tidy up cap table in BuilderArena
2020-10-22 15:55:11 +01:00
Vaci Koblizek
caa4441a65
fix local resolver, null caps, and add some doc comments
2020-10-22 15:55:11 +01:00
Vaci Koblizek
8ccfdc1bf6
remove redundent final modifier
2020-10-22 15:55:11 +01:00
Vaci Koblizek
9315c8aaba
null cap test
2020-10-22 15:55:11 +01:00
Vaci Koblizek
011137b23f
remove unused TwoPartyClient.runOnce
2020-10-22 15:55:11 +01:00
Vaci Koblizek
3161e246ae
tidy up TwoPartyVatNetwork
2020-10-22 15:55:11 +01:00
Vaci Koblizek
e21ba577b5
accept default outgoing message size
2020-10-22 15:55:11 +01:00
Vaci Koblizek
633d3ff8cc
remove redundent AnyPointer.getAsCap
2020-10-22 15:55:11 +01:00
Vaci Koblizek
f28b7de494
more message building size hints
2020-10-22 15:55:11 +01:00
Vaci Koblizek
83a4d4dc9e
only tap incoming
2020-10-22 15:55:11 +01:00
Vaci Koblizek
05dc84b675
move more CompFutures to void
2020-10-22 15:55:11 +01:00
Vaci Koblizek
6d082a71b5
use getHook() accessor
2020-10-22 15:55:11 +01:00
Vaci Koblizek
c01228c31c
add tap for dumping rpc messages
2020-10-22 15:55:11 +01:00
Vaci Koblizek
7b939d7c0b
add moar size hints
2020-10-22 15:55:11 +01:00
Vaci Koblizek
215f485883
add network accessor
2020-10-22 15:55:11 +01:00
Vaci Koblizek
85a3565dc3
add fds accessor
2020-10-22 15:55:11 +01:00
Vaci Koblizek
730ca1abf5
question cleanup
2020-10-22 15:55:11 +01:00
Vaci Koblizek
7134461e7d
use weak refs to cleanup import table
2020-10-22 15:55:11 +01:00
Vaci Koblizek
caec63d68c
fix rpcsystem generic params, and hide various fields
2020-10-22 15:55:11 +01:00
Vaci Koblizek
c49221c2e9
add cleanup to questions and imports
2020-10-22 15:55:11 +01:00
Vaci Koblizek
89451874c3
simplify server runOnce
2020-10-22 15:55:11 +01:00
Vaci Koblizek
61c98ac266
avoid duplicating conditions in asserts
2020-10-22 15:55:11 +01:00
Vaci Koblizek
dea4d2d3c0
implement bulk of pipelining logic
2020-10-22 15:55:11 +01:00
Vaci Koblizek
c2f64ba317
Add local cap table to message builder.
2020-10-22 15:55:11 +01:00
Vaci Koblizek
606dd26d48
generate pipelines, add AnyPointer.Pipeline
2020-10-22 15:55:11 +01:00
Vaci Koblizek
1abc975b8b
defer disembargo
2020-10-22 15:55:11 +01:00
Vaci Koblizek
2ffdecbe41
Make Response typed
2020-10-22 15:55:11 +01:00
Vaci Koblizek
59977b53fe
generate client methods and add streaming
2020-10-22 15:55:11 +01:00
Vaci Koblizek
218529deae
add client factory for AnyPointer accessor
2020-10-22 15:55:11 +01:00
Vaci Koblizek
b94f2d6c8c
prep for generated code
2020-10-22 15:55:11 +01:00
Vaci Koblizek
be64ced181
demo schema with interfaces
2020-10-22 15:55:11 +01:00
Vaci Koblizek
81b151deb5
oops, correct FromPointerBuilder default call
2020-10-22 15:55:11 +01:00
Vaci Koblizek
07dbf228f0
avoid repetition of getResultsBuilder call
2020-10-22 15:55:11 +01:00
Vaci Koblizek
734af71659
handleFinish
2020-10-22 15:55:11 +01:00
Vaci Koblizek
6bd1411c26
handleDisembargo. NB future evaluation order needs work
2020-10-22 15:55:11 +01:00
Vaci Koblizek
c938938808
CapTables everywhere!
...
Imbue readers and writers with capTables.
Ensure caps are removed when pointers are zeroed out.
2020-10-22 15:55:11 +01:00
Vaci Koblizek
1913b6d5ea
minor scope changes to cap client and server
2020-10-22 15:55:11 +01:00
Vaci Koblizek
7ae49a8f6a
RpcState bug fixes
...
correctly brand RpcClient
don't run message loop inside promise
imbue payload
2020-10-22 15:55:11 +01:00
Vaci Koblizek
194c0ada2a
correct setter of capability pointer
2020-10-22 15:55:11 +01:00
Vaci Koblizek
7d3e79091b
add runOnce to Client
2020-10-22 15:55:11 +01:00
Vaci Koblizek
9c5e080f90
regenerated rpc schemas
2020-10-22 15:55:11 +01:00
Vaci Koblizek
4dada05373
make CallContext constructor public
2020-10-22 15:55:11 +01:00
Vaci Koblizek
a505c03574
extend fromPointerReader to accept capTable
2020-10-22 15:55:11 +01:00
Vaci Koblizek
3959732765
handle resolve
2020-10-22 15:55:11 +01:00
Vaci Koblizek
4a77f67819
twoparty rpc
2020-10-22 15:55:10 +01:00
Vaci Koblizek
f5e4630aef
implement capability client and server
2020-10-22 15:55:10 +01:00
Vaci Koblizek
37c93cc5d2
implement request send
2020-10-22 15:55:10 +01:00
Vaci Koblizek
15b83a9c05
implement local, queued and promised hooks
2020-10-22 15:55:10 +01:00
Vaci Koblizek
37fe39bcde
implement unimplemented
2020-10-22 15:55:10 +01:00
Vaci Koblizek
b3c5b030c5
handle bootstrapping request
2020-10-22 15:55:10 +01:00
Vaci Koblizek
66ae27e805
mock rpc connection
2020-10-22 15:55:10 +01:00
Vaci Koblizek
7ee0a60b5e
stub handlers and test cases for incoming rpc messages
2020-10-22 15:55:10 +01:00
Vaci Koblizek
10f8f5e7d5
implement import and export tables
2020-10-22 15:55:10 +01:00
Vaci Koblizek
76c81a76a2
start to flesh out RPC connection state
2020-10-22 15:55:10 +01:00
Vaci Koblizek
e1548e88e8
RPC exception serialization
2020-10-22 15:55:10 +01:00
Vaci Koblizek
385746dc4f
add two-party RPC protocol
2020-10-22 15:55:10 +01:00
Vaci Koblizek
7713316683
incoming and outgoing rpc messages
2020-10-22 15:55:10 +01:00
Vaci Koblizek
59c2859881
implement cap table builder and reader
2020-10-22 15:55:10 +01:00
Vaci Koblizek
0d03705cfc
conversions between PipelineOps and RPC schema
2020-10-22 15:55:10 +01:00
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