Compile
This commit is contained in:
parent
7d662f9d97
commit
4abb19d4c7
|
@ -1,13 +1,13 @@
|
|||
import WSTS from "./index";
|
||||
import MWSE from "./index";
|
||||
import { Message } from "./WSTSProtocol";
|
||||
|
||||
export default class EventPool
|
||||
{
|
||||
public wsts : WSTS;
|
||||
public wsts : MWSE;
|
||||
public events : Map<number, [Function,Function]> = new Map();
|
||||
public signals : Map<string, Function[]> = new Map();
|
||||
public count = 0;
|
||||
constructor(wsts:WSTS){
|
||||
constructor(wsts:MWSE){
|
||||
this.wsts = wsts;
|
||||
}
|
||||
public request(msg: Message) : Promise<any>
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
import MWSE from "./index";
|
||||
|
||||
interface IPeerOptions{
|
||||
|
||||
};
|
||||
|
||||
export default class Peer
|
||||
{
|
||||
public wsts : MWSE;
|
||||
public options! : IPeerOptions;
|
||||
constructor(wsts:MWSE){
|
||||
this.wsts = wsts;
|
||||
}
|
||||
setPeerOptions(options:IPeerOptions){
|
||||
this.options = options;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
import WSTS from "./index";
|
||||
import MWSE from "./index";
|
||||
|
||||
export interface IRoomOptions
|
||||
{
|
||||
|
@ -16,11 +16,11 @@ export interface IRoomOptions
|
|||
|
||||
export default class Room
|
||||
{
|
||||
public wsts : WSTS;
|
||||
public mwse : MWSE;
|
||||
public options! : IRoomOptions;
|
||||
public events : {[key:string]:Function[]} = {};
|
||||
constructor(wsts:WSTS){
|
||||
this.wsts = wsts;
|
||||
constructor(wsts:MWSE){
|
||||
this.mwse = wsts;
|
||||
}
|
||||
public setRoomOptions(options : IRoomOptions)
|
||||
{
|
||||
|
|
|
@ -1,50 +1,50 @@
|
|||
import WSTS from "./index";
|
||||
import MWSE from "./index";
|
||||
|
||||
export interface Message {
|
||||
[key:string|number]:any;
|
||||
}
|
||||
export default class WSTSProtocol
|
||||
{
|
||||
public wsts : WSTS;
|
||||
constructor(wsts:WSTS){
|
||||
this.wsts = wsts;
|
||||
public mwse : MWSE;
|
||||
constructor(wsts:MWSE){
|
||||
this.mwse = wsts;
|
||||
this.addListener();
|
||||
}
|
||||
public addListener()
|
||||
{
|
||||
this.wsts.server?.onRecaivePack((pack)=>{
|
||||
this.mwse.server?.onRecaivePack((pack)=>{
|
||||
this.PackAnalyze(pack)
|
||||
})
|
||||
}
|
||||
public SendRaw(pack: Message)
|
||||
{
|
||||
this.wsts.server.tranferToServer(pack);
|
||||
this.mwse.server.tranferToServer(pack);
|
||||
}
|
||||
public SendOnly(pack: Message)
|
||||
{
|
||||
this.wsts.server.tranferToServer([pack,'R']);
|
||||
this.mwse.server.tranferToServer([pack,'R']);
|
||||
}
|
||||
public SendRequest(pack: Message, id: number)
|
||||
{
|
||||
this.wsts.server.tranferToServer([pack, id, 'R']);
|
||||
this.mwse.server.tranferToServer([pack, id, 'R']);
|
||||
}
|
||||
public StartStream(pack: Message, id: number)
|
||||
{
|
||||
this.wsts.server.tranferToServer([pack, id, 'S']);
|
||||
this.mwse.server.tranferToServer([pack, id, 'S']);
|
||||
}
|
||||
public PackAnalyze(data:any)
|
||||
{
|
||||
let [payload, id, action] = JSON.parse(data);
|
||||
if(typeof id === 'number')
|
||||
{
|
||||
let callback = this.wsts.EventPooling.events.get(id);
|
||||
let callback = this.mwse.EventPooling.events.get(id);
|
||||
if(callback)
|
||||
{
|
||||
callback[0](payload, action);
|
||||
switch(action)
|
||||
{
|
||||
case 'E':{ // [E]ND flag
|
||||
this.wsts.EventPooling.events.delete(id);
|
||||
this.mwse.EventPooling.events.delete(id);
|
||||
break;
|
||||
}
|
||||
case 'S': // [S]TREAM flag
|
||||
|
@ -54,7 +54,7 @@ export default class WSTSProtocol
|
|||
}
|
||||
}else console.warn("Missing event sended from server");
|
||||
}else{
|
||||
let signals = this.wsts.EventPooling.signals.get(id);
|
||||
let signals = this.mwse.EventPooling.signals.get(id);
|
||||
if(signals)
|
||||
{
|
||||
for (const callback of signals) {
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
import {Connection,IConnection} from "./Connection";
|
||||
import EventPool from "./EventPool";
|
||||
import Peer from "./Peer";
|
||||
import Room, { IRoomOptions } from "./Room";
|
||||
import WSTSProtocol from "./WSTSProtocol";
|
||||
export default class WSTS {
|
||||
export default class MWSE {
|
||||
public server! : Connection;
|
||||
public WSTSProtocol! : WSTSProtocol;
|
||||
public EventPooling! : EventPool;
|
||||
public rooms : Map<string, Room> = new Map();
|
||||
public pairs : Map<string, Peer> = new Map();
|
||||
constructor(options: IConnection){
|
||||
this.server = new Connection(options);
|
||||
this.server.connect();
|
||||
|
@ -19,4 +21,18 @@ export default class WSTS {
|
|||
room.setRoomOptions(options);
|
||||
return room;
|
||||
}
|
||||
public peer(options: IRoomOptions)
|
||||
{
|
||||
let peer = new Peer(this);
|
||||
peer.setPeerOptions(options);
|
||||
return peer;
|
||||
}
|
||||
};
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
MWSE: any;
|
||||
}
|
||||
}
|
||||
|
||||
window.MWSE = MWSE;
|
152
script/index.js
152
script/index.js
|
@ -148,12 +148,15 @@ parcelHelpers.defineInteropFlag(exports);
|
|||
var _connection = require("./Connection");
|
||||
var _eventPool = require("./EventPool");
|
||||
var _eventPoolDefault = parcelHelpers.interopDefault(_eventPool);
|
||||
var _peer = require("./Peer");
|
||||
var _peerDefault = parcelHelpers.interopDefault(_peer);
|
||||
var _room = require("./Room");
|
||||
var _roomDefault = parcelHelpers.interopDefault(_room);
|
||||
var _wstsprotocol = require("./WSTSProtocol");
|
||||
var _wstsprotocolDefault = parcelHelpers.interopDefault(_wstsprotocol);
|
||||
class WSTS {
|
||||
class MWSE {
|
||||
rooms = new Map();
|
||||
pairs = new Map();
|
||||
constructor(options){
|
||||
this.server = new (0, _connection.Connection)(options);
|
||||
this.server.connect();
|
||||
|
@ -165,10 +168,16 @@ class WSTS {
|
|||
room.setRoomOptions(options);
|
||||
return room;
|
||||
}
|
||||
peer(options) {
|
||||
let peer = new (0, _peerDefault.default)(this);
|
||||
peer.setPeerOptions(options);
|
||||
return peer;
|
||||
}
|
||||
exports.default = WSTS;
|
||||
}
|
||||
exports.default = MWSE;
|
||||
window.MWSE = MWSE;
|
||||
|
||||
},{"./Connection":"dzYK1","@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE","./WSTSProtocol":"3kvWC","./EventPool":"37Faq","./Room":"7qlv2"}],"dzYK1":[function(require,module,exports) {
|
||||
},{"./Connection":"dzYK1","./EventPool":"37Faq","./Peer":"bVhKw","./Room":"7qlv2","./WSTSProtocol":"3kvWC","@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}],"dzYK1":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
parcelHelpers.export(exports, "Connection", ()=>Connection);
|
||||
|
@ -249,67 +258,7 @@ exports.export = function(dest, destName, get) {
|
|||
});
|
||||
};
|
||||
|
||||
},{}],"3kvWC":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
class WSTSProtocol {
|
||||
constructor(wsts){
|
||||
this.wsts = wsts;
|
||||
this.addListener();
|
||||
}
|
||||
addListener() {
|
||||
this.wsts.server?.onRecaivePack((pack)=>{
|
||||
this.PackAnalyze(pack);
|
||||
});
|
||||
}
|
||||
SendRaw(pack) {
|
||||
this.wsts.server.tranferToServer(pack);
|
||||
}
|
||||
SendOnly(pack) {
|
||||
this.wsts.server.tranferToServer([
|
||||
pack,
|
||||
"R"
|
||||
]);
|
||||
}
|
||||
SendRequest(pack, id) {
|
||||
this.wsts.server.tranferToServer([
|
||||
pack,
|
||||
id,
|
||||
"R"
|
||||
]);
|
||||
}
|
||||
StartStream(pack, id) {
|
||||
this.wsts.server.tranferToServer([
|
||||
pack,
|
||||
id,
|
||||
"S"
|
||||
]);
|
||||
}
|
||||
PackAnalyze(data) {
|
||||
let [payload, id, action] = JSON.parse(data);
|
||||
if (typeof id === "number") {
|
||||
let callback = this.wsts.EventPooling.events.get(id);
|
||||
if (callback) {
|
||||
callback[0](payload, action);
|
||||
switch(action){
|
||||
case "E":
|
||||
this.wsts.EventPooling.events.delete(id);
|
||||
break;
|
||||
case "S":
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else console.warn("Missing event sended from server");
|
||||
} else {
|
||||
let signals = this.wsts.EventPooling.signals.get(id);
|
||||
if (signals) for (const callback1 of signals)callback1(payload);
|
||||
else console.warn("Missing event sended from server");
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.default = WSTSProtocol;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}],"37Faq":[function(require,module,exports) {
|
||||
},{}],"37Faq":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
class EventPool {
|
||||
|
@ -353,13 +302,26 @@ class EventPool {
|
|||
}
|
||||
exports.default = EventPool;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}],"bVhKw":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
class Peer {
|
||||
constructor(wsts){
|
||||
this.wsts = wsts;
|
||||
}
|
||||
setPeerOptions(options) {
|
||||
this.options = options;
|
||||
}
|
||||
}
|
||||
exports.default = Peer;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}],"7qlv2":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
class Room {
|
||||
events = {};
|
||||
constructor(wsts){
|
||||
this.wsts = wsts;
|
||||
this.mwse = wsts;
|
||||
}
|
||||
setRoomOptions(options) {
|
||||
this.options = options;
|
||||
|
@ -376,6 +338,66 @@ class Room {
|
|||
}
|
||||
exports.default = Room;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}],"3kvWC":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
class WSTSProtocol {
|
||||
constructor(wsts){
|
||||
this.mwse = wsts;
|
||||
this.addListener();
|
||||
}
|
||||
addListener() {
|
||||
this.mwse.server?.onRecaivePack((pack)=>{
|
||||
this.PackAnalyze(pack);
|
||||
});
|
||||
}
|
||||
SendRaw(pack) {
|
||||
this.mwse.server.tranferToServer(pack);
|
||||
}
|
||||
SendOnly(pack) {
|
||||
this.mwse.server.tranferToServer([
|
||||
pack,
|
||||
"R"
|
||||
]);
|
||||
}
|
||||
SendRequest(pack, id) {
|
||||
this.mwse.server.tranferToServer([
|
||||
pack,
|
||||
id,
|
||||
"R"
|
||||
]);
|
||||
}
|
||||
StartStream(pack, id) {
|
||||
this.mwse.server.tranferToServer([
|
||||
pack,
|
||||
id,
|
||||
"S"
|
||||
]);
|
||||
}
|
||||
PackAnalyze(data) {
|
||||
let [payload, id, action] = JSON.parse(data);
|
||||
if (typeof id === "number") {
|
||||
let callback = this.mwse.EventPooling.events.get(id);
|
||||
if (callback) {
|
||||
callback[0](payload, action);
|
||||
switch(action){
|
||||
case "E":
|
||||
this.mwse.EventPooling.events.delete(id);
|
||||
break;
|
||||
case "S":
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else console.warn("Missing event sended from server");
|
||||
} else {
|
||||
let signals = this.mwse.EventPooling.signals.get(id);
|
||||
if (signals) for (const callback1 of signals)callback1(payload);
|
||||
else console.warn("Missing event sended from server");
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.default = WSTSProtocol;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"i1YYE"}]},["6snCa"], "6snCa", "parcelRequiref9d4")
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
|
|
File diff suppressed because one or more lines are too long
117
test.html
117
test.html
|
@ -7,123 +7,12 @@
|
|||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="./wsjs.js"></script>
|
||||
<script src="./script/index.js"></script>
|
||||
<script>
|
||||
/* let wsjs = new WSJS({
|
||||
let wsjs = new MWSE({
|
||||
endpoint: "ws://localhost:8282"
|
||||
});
|
||||
let room = wsjs.room({
|
||||
name: "MY-ROOM",
|
||||
description: "Gizli Odam",
|
||||
joinType: "password",
|
||||
credential: "123456Kc",
|
||||
ifexistsJoin: true
|
||||
});
|
||||
room.on('joinpeer',(id)=>{
|
||||
|
||||
});
|
||||
room.on('invitepeer',(id)=>{
|
||||
|
||||
});
|
||||
room.on('acceptedinvite',(id)=>{
|
||||
|
||||
});
|
||||
room.on('rejectedinvite',(id)=>{
|
||||
|
||||
});
|
||||
peer.on('message',(pack)=>{
|
||||
|
||||
})
|
||||
room.info();
|
||||
room.send({
|
||||
message: "HI!"
|
||||
});
|
||||
room.closeRoom();
|
||||
room.ejectRoom();
|
||||
|
||||
room.fetchPeerList().then(e => console.log("e id listesi"))
|
||||
|
||||
|
||||
|
||||
let peer = wsjs.peer('07781835-0e96-4fc3-b7e1-8e3c67f9c5b7');
|
||||
|
||||
peer.pairRequest();
|
||||
|
||||
peer.on('accept',()=>{
|
||||
peer.send({
|
||||
message: "HI!"
|
||||
});
|
||||
});
|
||||
peer.on('reject',()=>{
|
||||
|
||||
});
|
||||
peer.on('message',(data)=>{
|
||||
|
||||
});
|
||||
peer.on('close',(data)=>{
|
||||
|
||||
});
|
||||
peer.close();
|
||||
*/
|
||||
|
||||
|
||||
|
||||
let ws = new WSJS();
|
||||
ws.connect('ws://localhost:8282');
|
||||
ws.scope(async ()=>{
|
||||
let secretRoom;
|
||||
console.log("Connected ws")
|
||||
let roomInfo = await ws.roomInfo("MY-ROOM");
|
||||
console.log("Room Info", roomInfo)
|
||||
|
||||
let type = "";
|
||||
|
||||
if(roomInfo.status == 'fail' && roomInfo.message == "NOT-FOUND-ROOM")
|
||||
{
|
||||
type = "owner";
|
||||
roomInfo = await ws.createRoom({
|
||||
name: "MY-ROOM",
|
||||
description: "Gizli Odam",
|
||||
joinType: "password",
|
||||
credential: "123456Kc"
|
||||
});
|
||||
|
||||
|
||||
setInterval(()=>{
|
||||
ws.sendPackToRoom( roomInfo.room.id,"Merhaba");
|
||||
}, 5000);
|
||||
|
||||
}else{
|
||||
roomInfo = await ws.joinRoom({name:"MY-ROOM",credential:"123456Kc"});
|
||||
|
||||
setInterval(()=>{
|
||||
ws.sendPackToPeer( roomInfo.room.owner,"Merhaba Yönetici");
|
||||
}, 5000);
|
||||
|
||||
type = "member";
|
||||
};
|
||||
|
||||
|
||||
console.log("Oda bilgisi: ",roomInfo);
|
||||
let Peers = await ws.getRoomPeers( roomInfo.room.id);
|
||||
|
||||
console.log("Odadaki eşlerin bilgisi: ",Peers)
|
||||
|
||||
console.log(await ws.getJoinedRooms());
|
||||
|
||||
});
|
||||
ws.signal('id',(data)=>{
|
||||
console.log("Your id is ", data.value)
|
||||
});
|
||||
ws.signal('pack',(pack)=>{
|
||||
console.log("Recaived Package :", pack)
|
||||
});
|
||||
ws.signal("room/joined",(joinStatus)=>{
|
||||
console.log("Room joined", joinStatus)
|
||||
});
|
||||
ws.signal("room/ejected",(ejectStatus)=>{
|
||||
console.log("Room ejected", ejectStatus)
|
||||
})
|
||||
let peer = wsjs.peer('me');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue