idk routing stuff i guess

This commit is contained in:
2022-02-24 19:47:27 +01:00
parent ebd9709c3d
commit c96d06653a
25 changed files with 338 additions and 399 deletions

View File

@@ -0,0 +1,47 @@
package kernel.net;
using tink.CoreApi;
/**
Virtual network interface that handle
**/
class Loopback implements INetworkInterface {
public static final instance:Loopback = new Loopback();
public var onMessage(default, null):Signal<Package>;
private final onMessageTrigger: SignalTrigger<Package> = Signal.trigger();
private var openChans: Array<Int> = [];
private function new() {
this.onMessage = onMessageTrigger.asSignal();
}
public function listen(chan:Int) {
// TODO
}
public function close(chan:Int) {
// TODO
}
public function isListening(chan:Int):Bool {
return this.openChans.contains(chan);
}
public function closeAll() {
this.openChans = [];
}
public function send(chan:Int, replyChan:Int, payload:Any) {
this.onMessageTrigger.trigger(payload);
}
public function name():String {
return "loopback";
}
public function getBaseRoutingCost():Int {
return 0;
}
}