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
David Renshaw
4cc34896b4
add StructList.newFactory method, allowing type parameters to be inferred
2020-05-12 23:29:16 -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