Commit Graph

158 Commits

Author SHA1 Message Date
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
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
Jason Paryani
1ef6035aea Add functionality for using event loops in different threads 2014-04-17 22:52:13 -07:00
Jason Paryani
56d68325ff Add check that method exists in Capability.__getattr__.
This makes it play nice with hasattr
2014-04-17 20:53:52 -07:00
Jason Paryani
16678dc26b Fix cancel methods 2014-04-17 20:53:23 -07:00
Jason Paryani
430890f8d6 Add args checking to Void and RemotePromises then and check for double
send in Requests.
2014-04-13 18:35:53 -07:00
Jason Paryani
cfb60cddf0 Add arguments checking to then callback 2014-04-13 18:26:01 -07:00
Jason Paryani
c2b9d14268 Fix up cancel and timer a bit 2014-04-13 18:15:36 -07:00
Jason Paryani
f58f5d4846 Add timer functionality 2014-04-10 19:08:24 -07:00
Jason Paryani
ba4e5e46cb Allow restoring a null objectId by passing None to restore 2014-04-09 17:06:34 -07:00
Jason Paryani
cba4378d1f Add num_first_segment_words argument wherever message creation can occur 2014-04-07 11:15:48 -07:00
Jason Paryani
becbd966de Fix from_bytes with builder=True bug. For now, it's no longer zero-copy 2014-02-27 18:16:56 -08:00
Jason Paryani
0b28862056 Add ability pickle StructReader/Builder 2014-02-27 18:16:31 -08:00
Jason Paryani
9f06f0f3e8 Fix bug in to_bytes_packed when packed size > unpacked size. 2014-02-24 14:06:28 -08:00
Jason Paryani
307fcbf4e7 Fix problem with uninitialized unions in _from_dict 2014-02-18 17:34:34 -08:00
Jason Paryani
110b454e2c Add accesible version numbers for C++ libcapnp 2014-02-18 17:33:38 -08:00
Jason Paryani
a0668c1c9c Revert memleak fix since it's causing failures on TravisCI 2014-02-13 22:25:25 -08:00
Jason Paryani
55dcff0dad Fix TwoPartyServer to handle more than one client at a time. Fixes #23
Also fix various memleaks in RpcServer/Client
2014-02-13 22:10:05 -08:00
Jason Paryani
3d8dc6daa9 Change which method to be a property and return an enum type.
Old code using which() will still work since the enum type has a
__call__ method.
2014-02-13 19:24:06 -08:00
Jason Paryani
6ccc208757 Remove unnecessary allocation when setting strings 2014-02-13 12:04:30 -08:00
Jason Paryani
e23e1cb4ed Remove redundant _setDynamicFieldPtr 2014-02-13 11:49:29 -08:00
Jason Paryani
7903225867 Remove onDrained since it was removed upstream 2014-02-10 23:27:42 -08:00
Jason Paryani
345b8a6911 Add EnumSchema and corresponding module to load 2014-02-05 15:32:14 -08:00
Jason Paryani
c9130ac44a Replace usage of strings as enum type with custom DynamicEnum class.
DynamicEnum has a comparison function that allows comparison to strings
and ints, and will effectively make it interchangable with the old
implementation in most scenarios.
2014-02-05 12:11:29 -08:00
Jason Paryani
d55ad02863 Fix bug in TwoPartyServer that fixes #22 2014-01-17 11:13:12 -08:00
Jason Paryani
aa317e7324 Change to_bytes_packed() to be more efficient 2014-01-15 22:43:19 -08:00
Jason Paryani
8c0e80529b Attempt to speed up converting from a dictionary 2014-01-15 22:08:27 -08:00
Jason Paryani
b0a7128230 Change exception wrapper to detect and raise AttributeError 2014-01-14 09:05:46 -08:00
Jason Paryani
e7e95abeed Allow setting of fields with python dicts.
This change was a bit complicated because of a bug in cython fused
types. I had to flatten DynamicStruct.Builder to DynamicStruct_Builder
in order to get fused template specialization working.
2014-01-13 16:28:05 -08:00
Jason Paryani
ba7c192572 Add references to global eventLoop in promises 2014-01-08 16:18:10 -08:00
Jason Paryani
540ed4cdba Don't force utf8 encoding for unicode strings 2013-12-18 21:57:57 -08:00
Jason Paryani
e9a8354676 Fix problems with null characters in Text/Data fields. Fixes #19 2013-12-18 12:39:56 -08:00
Jason Paryani
f9bb12bff9 Update RPC with simpler methods for connecting 2013-12-12 11:55:50 -08:00
Jason Paryani
174ecd5609 Add simpler methods for instantiating TwoPartyServer/Client 2013-12-12 11:33:52 -08:00
Jason Paryani
ceacf16be8 Hide members of Server/Client 2013-12-12 00:02:32 -08:00
Jason Paryani
a880994a6b Fix tons of memleaks and memory management problems 2013-12-11 22:25:57 -08:00
Jason Paryani
1620965aee Add get_root_as_any to _MessageReader 2013-12-11 13:51:13 -08:00
Jason Paryani
ebbd83a425 Fix as_pypromise not returning correctly 2013-12-11 13:50:50 -08:00
Jason Paryani
10dc1d3ab3 Remove unneeded rpc.capnp by fixing ez_restore 2013-12-11 11:59:43 -08:00
Jason Paryani
4d8a27844f Fix allowing RemotePromises to be returned directly 2013-12-11 11:24:27 -08:00
Jason Paryani
db2247e883 Add calculator to tests 2013-12-11 00:15:08 -08:00