IPPressure
This commit is contained in:
parent
d50f9250e8
commit
e93871ed81
|
@ -19,6 +19,9 @@ exports.http = server;
|
||||||
app.get("/script",(request, response)=>{
|
app.get("/script",(request, response)=>{
|
||||||
response.sendFile(resolve("./script/index.js"))
|
response.sendFile(resolve("./script/index.js"))
|
||||||
});
|
});
|
||||||
|
app.get("/index.js.map",(request, response)=>{
|
||||||
|
response.sendFile(resolve("./script/index.js.map"))
|
||||||
|
});
|
||||||
app.get("*",(request, response)=>{
|
app.get("*",(request, response)=>{
|
||||||
response.sendFile(resolve("./script/status.xml"))
|
response.sendFile(resolve("./script/status.xml"))
|
||||||
});
|
});
|
|
@ -178,6 +178,12 @@ addService(({
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case "alloc/APIPAddress":{
|
case "alloc/APIPAddress":{
|
||||||
|
if(client.APIPAddress) {
|
||||||
|
end({
|
||||||
|
status : "sucess",
|
||||||
|
ip : client.APIPAddress
|
||||||
|
})
|
||||||
|
};
|
||||||
let value = APIPAddress.lock(client);
|
let value = APIPAddress.lock(client);
|
||||||
end({
|
end({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
|
@ -186,6 +192,12 @@ addService(({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "alloc/APNumber":{
|
case "alloc/APNumber":{
|
||||||
|
if(client.APNumber) {
|
||||||
|
end({
|
||||||
|
status : "sucess",
|
||||||
|
number : client.APNumber
|
||||||
|
})
|
||||||
|
};
|
||||||
let value = APNumber.lock(client);
|
let value = APNumber.lock(client);
|
||||||
end({
|
end({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
|
@ -194,6 +206,12 @@ addService(({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "alloc/APShortCode":{
|
case "alloc/APShortCode":{
|
||||||
|
if(client.APShortCode) {
|
||||||
|
end({
|
||||||
|
status : "sucess",
|
||||||
|
code : client.APShortCode
|
||||||
|
})
|
||||||
|
};
|
||||||
let value = APShortCode.lock(client);
|
let value = APShortCode.lock(client);
|
||||||
end({
|
end({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
|
@ -202,6 +220,11 @@ addService(({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "realloc/APIPAddress":{
|
case "realloc/APIPAddress":{
|
||||||
|
if(client.APIPAddress == 0){
|
||||||
|
return end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
|
}
|
||||||
APIPAddress.release(client.APIPAddress);
|
APIPAddress.release(client.APIPAddress);
|
||||||
let value = APIPAddress.lock(client);
|
let value = APIPAddress.lock(client);
|
||||||
end({
|
end({
|
||||||
|
@ -211,6 +234,11 @@ addService(({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "realloc/APNumber":{
|
case "realloc/APNumber":{
|
||||||
|
if(client.APNumber == 0){
|
||||||
|
return end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
|
}
|
||||||
APNumber.release(client.APNumber);
|
APNumber.release(client.APNumber);
|
||||||
let value = APNumber.lock(client);
|
let value = APNumber.lock(client);
|
||||||
end({
|
end({
|
||||||
|
@ -220,6 +248,11 @@ addService(({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "realloc/APShortCode":{
|
case "realloc/APShortCode":{
|
||||||
|
if(client.APShortCode == 0){
|
||||||
|
return end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
|
}
|
||||||
APShortCode.release(client.APShortCode);
|
APShortCode.release(client.APShortCode);
|
||||||
let value = APShortCode.lock(client);
|
let value = APShortCode.lock(client);
|
||||||
end({
|
end({
|
||||||
|
@ -257,6 +290,10 @@ addService(({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
socket : socketId
|
socket : socketId
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -268,6 +305,10 @@ addService(({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
socket : socketId
|
socket : socketId
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -279,6 +320,10 @@ addService(({
|
||||||
status : "sucess",
|
status : "sucess",
|
||||||
socket : socketId
|
socket : socketId
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
end({
|
||||||
|
status : "fail"
|
||||||
|
})
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,4 +4,5 @@ require("./WebSocket.js");
|
||||||
require("./Services/YourID.js");
|
require("./Services/YourID.js");
|
||||||
require("./Services/Auth.js");
|
require("./Services/Auth.js");
|
||||||
require("./Services/Room.js");
|
require("./Services/Room.js");
|
||||||
require("./Services/DataTransfer.js");
|
require("./Services/DataTransfer.js");
|
||||||
|
require("./Services/IPPressure.js");
|
|
@ -0,0 +1,198 @@
|
||||||
|
import MWSE from "frontend";
|
||||||
|
|
||||||
|
export class IPPressure
|
||||||
|
{
|
||||||
|
public mwse : MWSE;
|
||||||
|
public APNumber? : number;
|
||||||
|
public APShortCode? : string;
|
||||||
|
public APIPAddress? : string;
|
||||||
|
constructor(mwse : MWSE){
|
||||||
|
this.mwse = mwse;
|
||||||
|
};
|
||||||
|
public async allocAPIPAddress()
|
||||||
|
{
|
||||||
|
let {status,ip} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APIPAddress'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
ip?:string
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APIPAddress = ip;
|
||||||
|
return ip;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Allocated Access Point IP Address");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async allocAPNumber()
|
||||||
|
{
|
||||||
|
let {status,number} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APNumber'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
number?:number
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APNumber = number;
|
||||||
|
return number;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Allocated Access Point Number");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async allocAPShortCode()
|
||||||
|
{
|
||||||
|
let {status,code} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APShortCode'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
code?:string
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APShortCode = code;
|
||||||
|
return code;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Allocated Access Point Short Code");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async reallocAPIPAddress()
|
||||||
|
{
|
||||||
|
let {status,ip} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'realloc/APIPAddress'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
ip?:string
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APIPAddress = ip;
|
||||||
|
return ip;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Reallocated Access Point IP Address");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async reallocAPNumber()
|
||||||
|
{
|
||||||
|
let {status,number} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'realloc/APNumber'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
number?:number
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APNumber = number;
|
||||||
|
return number;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Reallocated Access Point Number");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async reallocAPShortCode()
|
||||||
|
{
|
||||||
|
let {status,code} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'realloc/APShortCode'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
code?:string
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APShortCode = code;
|
||||||
|
return code;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error Reallocated Access Point Short Code");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async releaseAPIPAddress()
|
||||||
|
{
|
||||||
|
let {status} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'release/APIPAddress'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APIPAddress = undefined;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error release Access Point IP Address");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async releaseAPNumber()
|
||||||
|
{
|
||||||
|
let {status} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'release/APNumber'
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APNumber = undefined;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error release Access Point Number");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async releaseAPShortCode()
|
||||||
|
{
|
||||||
|
let {status} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'release/APShortCode'
|
||||||
|
}) as {
|
||||||
|
status:string
|
||||||
|
};
|
||||||
|
if(status == 'success')
|
||||||
|
{
|
||||||
|
this.APShortCode = undefined;
|
||||||
|
}else{
|
||||||
|
throw new Error("Error release Access Point Short Code");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async queryAPIPAddress(ip:string)
|
||||||
|
{
|
||||||
|
let {status,socket} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APIPAddress',
|
||||||
|
whois: ip
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
socket?:string
|
||||||
|
};
|
||||||
|
if(status == "success")
|
||||||
|
{
|
||||||
|
return socket;
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async queryAPNumber(number:number)
|
||||||
|
{
|
||||||
|
let {status,socket} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APNumber',
|
||||||
|
whois: number
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
socket?:string
|
||||||
|
};
|
||||||
|
if(status == "success")
|
||||||
|
{
|
||||||
|
return socket;
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public async queryAPShortCode(code:string)
|
||||||
|
{
|
||||||
|
let {status,socket} = await this.mwse.EventPooling.request({
|
||||||
|
type: 'alloc/APShortCode',
|
||||||
|
whois: code
|
||||||
|
}) as {
|
||||||
|
status:"fail"|"success",
|
||||||
|
socket?:string
|
||||||
|
};
|
||||||
|
if(status == "success")
|
||||||
|
{
|
||||||
|
return socket;
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
import {Connection,IConnection} from "./Connection";
|
import {Connection,IConnection} from "./Connection";
|
||||||
import EventPool from "./EventPool";
|
import EventPool from "./EventPool";
|
||||||
import EventTarget from "./EventTarget";
|
import EventTarget from "./EventTarget";
|
||||||
|
import { IPPressure } from "./IPPressure";
|
||||||
import Peer from "./Peer";
|
import Peer from "./Peer";
|
||||||
import Room, { IRoomOptions } from "./Room";
|
import Room, { IRoomOptions } from "./Room";
|
||||||
import WSTSProtocol, { Message } from "./WSTSProtocol";
|
import WSTSProtocol, { Message } from "./WSTSProtocol";
|
||||||
|
@ -11,13 +12,15 @@ export default class MWSE extends EventTarget {
|
||||||
public rooms : Map<string, Room> = new Map();
|
public rooms : Map<string, Room> = new Map();
|
||||||
public pairs : Map<string, Peer> = new Map();
|
public pairs : Map<string, Peer> = new Map();
|
||||||
public peers : Map<string, Peer> = new Map();
|
public peers : Map<string, Peer> = new Map();
|
||||||
|
public virtualPressure : IPPressure;
|
||||||
public me! : Peer;
|
public me! : Peer;
|
||||||
constructor(options: IConnection){
|
constructor(options: IConnection){
|
||||||
super();
|
super();
|
||||||
this.server = new Connection(options);
|
this.server = new Connection(options);
|
||||||
this.server.connect();
|
|
||||||
this.WSTSProtocol = new WSTSProtocol(this);
|
this.WSTSProtocol = new WSTSProtocol(this);
|
||||||
this.EventPooling = new EventPool(this);
|
this.EventPooling = new EventPool(this);
|
||||||
|
this.virtualPressure = new IPPressure(this);
|
||||||
|
this.server.connect();
|
||||||
this.me = new Peer(this);
|
this.me = new Peer(this);
|
||||||
this.me.scope(()=>{
|
this.me.scope(()=>{
|
||||||
this.peers.set('me', this.me);
|
this.peers.set('me', this.me);
|
||||||
|
|
Loading…
Reference in New Issue