idk routing stuff i guess
This commit is contained in:
47
src/kernel/net/Loopback.hx
Normal file
47
src/kernel/net/Loopback.hx
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user