Commit graph

230 commits

Author SHA1 Message Date
Jason Paryani
6f1ce8bcc5 Add support for using keyword arguments with a named struct in an RPC 2015-06-08 13:39:10 -07:00
Jason Paryani
7ff67ebf4a Add bootstrap method to TwoPartyServer 2015-06-04 16:49:46 -07:00
Kamal Marhubi
211192f235 Tidy up _from_list
- remove unused variable
- switch from `range` to `enumerate` for indexed iteration
2015-05-30 19:45:58 -04:00
Jason Paryani
a5bf532d53 Add init method to lists 2015-05-04 11:00:25 -07:00
Jason Paryani
3d77722e88 Add support for unix sockets and improve rpc testing 2015-04-13 16:51:38 -07:00
Jason Paryani
e00bff6ef8 Fix problems with TwoPartyServer
Fixes #61

It turns out I messed up the Server initialization code for the case
where a string is passed in as the address. The tests only cover the
cases where a raw socket is passed in. This will be rectified in a
following commit.
2015-04-13 14:14:40 -07:00
Jason Paryani
be90175f0f Remove types.Enum since it fails on DEBUG builds
It turns out we never should of been creating an ENUM type since it's
prohibited by libcapnp.

Fixes #57
2015-03-10 00:37:48 -07:00
Jason Paryani
2df20212fa Fix possible segfault when importing multiple schemas
It turns out that parseDiskFile expects the imports array to last the
lifetime of the SchemaParser object.

Also, optimized for the case where the imports haven't changed, so we're
not allocating a crazy amount of these imports arrays.
2015-02-24 15:48:48 -08:00
Jason Paryani
6e94182a3e Add bootstrap RPC methods
This is the new way for initializing RPC connections. It replaces the
deprecated restore functionality
2015-02-24 11:22:43 -08:00
John Emhoff
6389708701 Fix destructor order for _MessageReader 2015-02-23 15:03:50 +00:00
Jason Paryani
a62e392feb Fix subtle dealloc ordering problem with MessageReader
It appears that Cython has a subtle issue in deconstruction ordering
that I forgot about. Subclasses will have their deconstructors before
their parent's, and in this case we were dropping a reference to a
buffer that the parent deconstructor expected to exist.
2015-01-30 13:39:58 -08:00
Jason Paryani
88db4abc48 Add read_multiple_bytes/read_multiple_bytes_packed methods 2015-01-28 16:08:47 -08:00
Jason Paryani
2ee4498318 Merge branch 'feature/v0.5' into develop
Conflicts:
	capnp/helpers/helpers.pxd
	capnp/helpers/rpcHelper.h
	capnp/lib/capnp.pxd
	capnp/lib/capnp.pyx
	requirements.txt
	setup.py
	test/test_struct.py
2014-12-15 12:20:26 -08:00
Jason Paryani
0a6ab94390 Fix problem introduced with alignmnet fix 2014-12-12 16:23:24 -08:00
Jason Paryani
06833eb6d5 Fix alignment issues for reading bytes 2014-12-12 14:43:18 -08:00
Jason Paryani
02c572fe1e Fix up libraries a bit
Remove reference to libraries in schema_cpp and list all libraries in
propert order in capnp.pyx
2014-12-11 22:03:13 -08:00
Jason Paryani
2dbeb88db4 Fix PyEventPort for changes in upstream interface 2014-12-09 11:22:19 -08:00
Jason Paryani
b9c9c6bc5c Fix for upstream changes in kj::Exception
* Change from using Nature/Durability to Type
* Prefer to raise KjException directly instead of Value/RuntimError.
* Will still raise AttributeError appropriately.
2014-11-30 14:27:10 -08:00
Rodrigo Benenson
dc14b097e6 Fixed typo in the documentation 2014-11-21 23:59:47 +01:00
Jason Paryani
42c0424e6e Add native types under capnp.types for use with ListSchema 2014-11-20 10:24:10 -08:00
Jason Paryani
d97ec7723d Add .schema field to imported files 2014-11-19 08:10:31 -08:00
Jason Paryani
100019906f Update c++.capnp with upstream file 2014-11-19 08:09:27 -08:00
Jason Paryani
a2ac913c63 Add as_interface/as_list methods to _DynamicObject* 2014-11-19 07:36:40 -08:00
Jason Paryani
4fb74372f2 Allow creation of ListSchema from other Schemas 2014-11-19 02:19:21 -08:00
Jason Paryani
0f0ced971d Add ListSchema class
Return it whenever the appropriate Type is converted to a Schema
2014-11-19 02:04:57 -08:00
Jason Paryani
2565db3500 Fix for changes in upstream C++ Cap'n Proto 2014-11-03 22:24:38 -08:00
Jason Paryani
f69d7e13f6 Remove profiling from cython modules
This also fixes the build problems with pypy
2014-10-27 12:56:01 -07:00
jfgauvin
4f706c8b05 Support ordered dictionnary
Now possible to create ordered dictionnary using 'to_dict' function with
the ordered parameter.
2014-10-27 10:59:07 -04:00
Jason Paryani
f9fea43828 Add workaround for cython? bug with typedefed enums 2014-10-20 19:46:45 -07:00
Jason Paryani
8761a787e9 Stop using get_dependency internally and add deprecation warning 2014-10-19 22:45:08 -07:00
Jason Paryani
0a120ef4cd Update to fix rename of 'extends' to 'superclasses' upstream 2014-10-19 21:34:46 -07:00
Jason Paryani
f14bcb1e85 Fix build for Cython 0.21
Conflicts:
	capnp/helpers/helpers.pxd
	capnp/lib/capnp.pyx
	requirements.txt
	setup.py
2014-10-19 20:30:23 -07:00
Jason Paryani
64e80e06bf Get code generator plugin to a decently working state.
Still a few outstanding performance issues, and imports inside .capnp
files may not be working
2014-10-19 20:06:00 -07:00
Jason Paryani
e8ddfb9e91 Fix build for Cython 0.21 2014-09-10 10:48:23 -07:00
Jason Paryani
ece4e36329 Rename setup.py template to setup.py.tmpl to avoid confusion 2014-09-04 18:44:42 -07:00
Jason Paryani
2db935a00b Speed up code generated modules even more.
Switch to using generated c++ capnp code
2014-09-04 18:04:52 -07:00
Jason Paryani
93352a31d2 Initial version of code generating plugin
The plugin generates higher performance compiled versions of the structs
2014-09-04 14:21:27 -07:00
Jason Paryani
18fce3fe78 Fix up various bugs that arose when trying to cimport capnp 2014-09-03 23:25:39 -07:00
Jason Paryani
b11e461a9e Various speedups to StructReader/Builder 2014-09-03 16:50:10 -07:00
Jason Paryani
ea1be42252 Add {_get,_set,_has,_init}_by_field methods for faster field access 2014-09-03 15:20:26 -07:00
Jason Paryani
a0143260d6 Make Timer class private 2014-09-03 15:19:33 -07:00
Jason Paryani
a1f7d32853 Make pycapnp GIL friendly
Now calling `wait` from one thread will not block all threads
2014-07-09 00:49:35 -07:00
Jason Paryani
1eafc412a8 Fix to_dict not converting enums to strings
Fixes #28
2014-06-26 00:54:23 -07:00
Jason Paryani
3a0eaacc9d Fix to_dict not converting enums to strings
Fixes #28
2014-06-26 00:53:16 -07:00
Jason Paryani
a9dfee9545 Fix bug in DynamicCapability's dir method 2014-06-12 16:44:41 -07:00
Jason Paryani
db63fd1880 Add ability to import modules with dashes or spaces
Any module with underscores in it will now attempt to look for 3 files,
first the original, then with dashes, then with spaces, ie:
import addressbook_v_2_capnp
will search for 'addressbook_v_2.capnp', 'addressbook-v-2.capnp', and
'addressbook v 2.capnp'.
2014-06-12 16:37:06 -07:00
Jason Paryani
c77b5fa132 Fix error message in version check 2014-06-12 16:36:37 -07:00
Jason Paryani
d8e109c55a Fix type error in rpcHelper.h. Fixes #26 2014-04-25 11:02:02 -07:00
Jason Paryani
372fc496e8 Fix pickling for pypy 2014-04-19 17:00:19 -07:00
Jason Paryani
03faa0e18b Get inheritance working for simple version capabilities 2014-04-18 18:18:54 -07:00