I'm looking at a solution to 'embedding' python and javascript into a Rust 
application through RPC, my basic schema looks something like: 

@0xc01ea2259855b1a4;

interface Executor {
    ping @0 () -> (result :Bool);
    getFunction @1 [I, O] (hashId :FunctionDescriptor) -> (fn :Function(I, O));
}

struct FunctionDescriptor {
    id      @0        :Text;
    hash    @1     :Data;
    lang    @2     :Language;
}

enum Language {
    python @0;
    javascript @1;
}

interface Function(I, O) {
    call @0 (input :I) -> (output :O);
}


The compiler will happily generate rust code for me; although it seems to 
me I need to somehow constrain the generic I and O. In my model, a Rust 
client will call a Python Executor, attempt to acquire a concrete function, 
which might fail if the python server cannot provide that specific concrete 
implementation. 

Should I use generics in this way; or use AnyPointers?

-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to capnproto+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/capnproto/6fa52867-c879-4f84-b10e-0ef44e07c0e2%40googlegroups.com.

Reply via email to