2011/3/31 Moritz Heidkamp <[email protected]>:
> Hi,
>
> Thomas Chust <[email protected]> writes:
>> Your only option in the out of luck situation is not to use regular
>> callbacks at all but to implement a sort of in-process remote
>> procedure call system where a C stub registered as a callback
>> transfers call information to a Scheme thread, waits for a reply from
>> there and then returns. Needless to say, this can be relatively tricky
>> to implement.
>
> this could be easily implemented using ZeroMQ's inproc transport.
> [...]

Hello Moritz,

the transport is not the tricky part. Problematic points are, for
example:

 * How to convert arguments and return values between their binary
   representation in C and something that the Scheme RPC server can
   understand without calling any CHICKEN API functions because those
   are off-limits for the callback stub?
 * How to manage memory for marshalled data?
 * How to integrate the whole RPC transport with CHICKEN's cooperative
   multithreading system?

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.

_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to