added RPC macro
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package bin;
|
||||
|
||||
import kernel.log.Log;
|
||||
import kernel.ps.ProcessHandle;
|
||||
import kernel.ps.Process;
|
||||
|
||||
@@ -11,6 +12,13 @@ class HelloWorld implements Process {
|
||||
|
||||
public function run(handle:ProcessHandle) {
|
||||
handle.write("Hello World!");
|
||||
|
||||
var c = new HelloWorldServiceRPC(0);
|
||||
|
||||
c.getNumber().handle((res)->{
|
||||
Log.debug("Got number: " + res);
|
||||
});
|
||||
|
||||
handle.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
package bin;
|
||||
|
||||
import kernel.Timer;
|
||||
import macros.rpc.RPC;
|
||||
import kernel.ps.ProcessHandle;
|
||||
import kernel.ps.Process;
|
||||
|
||||
using tink.CoreApi;
|
||||
|
||||
@:build(macros.rpc.RPC.buildRPC())
|
||||
class HelloWorldService implements Process {
|
||||
private var timer:Timer;
|
||||
private var handle:ProcessHandle;
|
||||
|
||||
public function new() {}
|
||||
|
||||
public function run(handle:ProcessHandle) {
|
||||
handle.write("Hello World! Started\n");
|
||||
this.startTimer(handle);
|
||||
handle.addDeferFunc(()->{
|
||||
timer.cancle();
|
||||
});
|
||||
this.handle = handle;
|
||||
|
||||
RPC.generateRPCPackageHandle();
|
||||
}
|
||||
|
||||
public function startTimer(handle: ProcessHandle) {
|
||||
this.timer = new Timer(5, function() {
|
||||
handle.write("Hello World!\n");
|
||||
this.startTimer(handle);
|
||||
});
|
||||
@rpc
|
||||
public function getNumber():Int{
|
||||
return 42;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user