Commit Graph

100 Commits

Author SHA1 Message Date
Mike Lundy
302fc64041 Include the traceback in exceptions
This makes debugging into the cython side of the code much easier.
2016-03-04 13:52:14 -08:00
Mike Lundy
8c3c57aa32 Make sure to encode to utf-8, not the default encoding
This allows text fields to take unicode strings under python 2.
2016-03-04 13:50:43 -08:00
Jason Paryani
2be308db27 Throw an exception on invalid BufferView instantiation
Also adjust tests to skip mmap under Python 2.
2016-03-04 12:42:45 -08:00
Benjamin Piwowarski
b7a9d05e5e Support mmap objects for reading with from_bytes 2016-02-05 17:32:40 +01:00
Jason Paryani
2516e3e4f1 Change read_multiple and read_multiple_packed to copy by default
Add a `skip_copy` paramter for people that know what they're doing and
need higher performance.

Fixes #87
2015-12-04 16:31:26 -08:00
Jason Paryani
b863e9b9d6 Fix mistakenly discarding the file parameter on reads
Fixes #82
2015-12-04 16:01:28 -08:00
Klee Dienes
8436a1908d Add reraise_kj_exception to the prettyPrint functions. 2015-11-14 18:51:20 -05:00
Sergei Dyshel
4e6f381855 Fix KjException init (missing wrapper). 2015-10-21 15:11:43 +03:00
Jason Paryani
b57f0f0df8 Add result_type to InterfaceMethodSchema 2015-07-12 12:21:29 -07:00
Jason Paryani
bd0576b68a Add warnings for using old restorer methods 2015-06-16 11:47:13 -07:00
Jason Paryani
a4990f0868 Handle AnyPointers better as arguments to RPC functions 2015-06-08 14:59:21 -07:00
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
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
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
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
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
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
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