made SRSC a rpc thing

This commit is contained in:
2023-07-30 23:34:35 +02:00
parent da3f00acb6
commit 0fc2d4d397
6 changed files with 40 additions and 167 deletions

View File

@@ -1,71 +0,0 @@
package lib;
import bin.srsc.PackageTypes.ListRequest;
import kernel.KernelSettings;
import bin.srsc.PackageTypes.UnregisterRequest;
import bin.srsc.PackageTypes.RegisterRequest;
import bin.srsc.PackageTypes.GetRequest;
import bin.srsc.SiteRessourceController;
import kernel.net.Net;
import kernel.net.Package.NetworkID;
using tink.CoreApi;
class RessourceNames {
public static function get(name:String, controllerID:NetworkID = -1):Promise<Null<NetworkID>> {
if (controllerID == -1)
controllerID = KernelSettings.siteController;
var payload:GetRequest = {name: name, type: "get"};
return Net.sendAndAwait(controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload).map((res) -> {
switch (res) {
case Success(pkg):
return Success(pkg.data.netID);
case Failure(error):
return Failure(error);
}
});
}
public static function register(name:String, netID:NetworkID, controllerID:NetworkID = -1):Promise<Bool> {
if (controllerID == -1)
controllerID = KernelSettings.siteController;
var payload:RegisterRequest = {name: name, netID: netID, type: "register"};
return Net.sendAndAwait(controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload).map((res) -> {
switch (res) {
case Success(pkg):
return Success(pkg.data.success);
case Failure(error):
return Failure(error);
}
});
}
public static function unregister(name:String, controllerID:NetworkID = -1):Promise<Noise> {
if (controllerID == -1)
controllerID = KernelSettings.siteController;
var payload:UnregisterRequest = {name: name, type: "unregister"};
return Net.sendAndAwait(controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload);
}
public static function list(controllerID:NetworkID = -1):Promise<Array<String>> {
if (controllerID == -1)
controllerID = KernelSettings.siteController;
var payload:ListRequest = {type: "list"};
return Net.sendAndAwait(controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload).map(res -> {
switch (res) {
case Success(pkg):
return Success(pkg.data);
case Failure(error):
return Failure(error);
}
});
}
}

View File

@@ -1,5 +1,6 @@
package lib.exporter;
import kernel.KernelSettings;
import kernel.net.Net;
import kernel.net.Package.NetworkID;
@@ -8,8 +9,9 @@ using tink.CoreApi;
class Import {
public static function get(ressourceLocator:String):Promise<Response> {
var request = Request.fromString(ressourceLocator);
var rpc = new SiteRessourceControllerRPC(KernelSettings.siteController);
return RessourceNames.get(request.id).next((response) -> {
return rpc.get(request.id).next((response) -> {
return performRequest(response, request);
});
}