iosignal 3.3.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/README.md +38 -559
  3. package/dist/io.d.ts +16 -9
  4. package/dist/io.js +5 -5
  5. package/dist/io.js.map +1 -1
  6. package/dist/io.min.js +5 -5
  7. package/dist/io.min.js.map +1 -1
  8. package/dist/iosignal.js +339 -268
  9. package/dist/types/client/IOCore.d.ts +17 -10
  10. package/dist/types/common/constants.d.ts +27 -37
  11. package/index.js +4 -3
  12. package/package.json +3 -4
  13. package/src/auth/BohoAuth.js +48 -11
  14. package/src/auth/{Auth_File.js → key_providers/FileKeyProvider.js} +8 -20
  15. package/src/auth/{Auth_Redis.js → key_providers/RedisKeyProvider.js} +4 -7
  16. package/src/auth/key_providers/StringKeyProvider.js +54 -0
  17. package/src/client/IOCongSocket.js +5 -3
  18. package/src/client/IOCore.js +118 -89
  19. package/src/client/IOWS.js +5 -3
  20. package/src/client/browser/IOWebSocket.js +5 -3
  21. package/src/common/constants.js +31 -44
  22. package/src/common/util.js +3 -0
  23. package/src/server/Manager.js +13 -12
  24. package/src/server/Remote.js +4 -1
  25. package/src/server/RemoteCore.js +23 -17
  26. package/src/server/Server.js +7 -7
  27. package/README.ko.md +0 -566
  28. package/auth_file.js +0 -23
  29. package/auth_file.json +0 -13
  30. package/docs/iosignal_architecture.png +0 -0
  31. package/examples/react-chat-js/dist/assets/index-Cy4qaVcJ.js +0 -56
  32. package/examples/react-chat-js/dist/assets/index-NETrjYhz.css +0 -1
  33. package/examples/react-chat-js/dist/assets/index-e2KOTYW8.js +0 -65
  34. package/examples/react-chat-js/dist/index.html +0 -14
  35. package/examples/react-chat-js/index.html +0 -13
  36. package/examples/react-chat-js/package-lock.json +0 -1723
  37. package/examples/react-chat-js/package.json +0 -20
  38. package/examples/react-chat-js/src/App.css +0 -61
  39. package/examples/react-chat-js/src/App.jsx +0 -125
  40. package/examples/react-chat-js/src/index.css +0 -13
  41. package/examples/react-chat-js/src/main.jsx +0 -13
  42. package/examples/react-chat-js/src/shared_io.js +0 -12
  43. package/examples/react-chat-js/vite.config.js +0 -7
  44. package/examples/server/index.js +0 -65
  45. package/examples/server/package-lock.json +0 -878
  46. package/examples/server/package.json +0 -13
  47. package/examples/server/public/index.html +0 -26
  48. package/examples/svelte-chat-js/.devtools +0 -3
  49. package/examples/svelte-chat-js/README.md +0 -38
  50. package/examples/svelte-chat-js/package-lock.json +0 -1421
  51. package/examples/svelte-chat-js/package.json +0 -23
  52. package/examples/svelte-chat-js/src/app.css +0 -105
  53. package/examples/svelte-chat-js/src/app.d.ts +0 -13
  54. package/examples/svelte-chat-js/src/app.html +0 -13
  55. package/examples/svelte-chat-js/src/lib/images/github.svg +0 -1
  56. package/examples/svelte-chat-js/src/lib/images/svelte-logo.svg +0 -1
  57. package/examples/svelte-chat-js/src/lib/images/svelte-welcome.png +0 -0
  58. package/examples/svelte-chat-js/src/lib/images/svelte-welcome.webp +0 -0
  59. package/examples/svelte-chat-js/src/lib/shared_io.js +0 -12
  60. package/examples/svelte-chat-js/src/routes/+layout.svelte +0 -5
  61. package/examples/svelte-chat-js/src/routes/+page.js +0 -3
  62. package/examples/svelte-chat-js/src/routes/+page.svelte +0 -167
  63. package/examples/svelte-chat-js/static/favicon.svg +0 -1
  64. package/examples/svelte-chat-js/static/global.css +0 -19
  65. package/examples/svelte-chat-js/static/robots.txt +0 -3
  66. package/examples/svelte-chat-js/svelte.config.js +0 -23
  67. package/examples/svelte-chat-js/vite.config.js +0 -6
  68. package/src/auth/Auth_Env.js +0 -76
  69. package/test-browser/favicon.ico +0 -0
  70. package/test-browser/index.html +0 -95
  71. package/test-browser/server.js +0 -12
  72. package/test-nodejs/client-playToggle.js +0 -19
  73. package/test-nodejs/client.js +0 -17
  74. package/test-nodejs/client_api_reply.js +0 -15
  75. package/test-nodejs/server-Auth_Env.js +0 -19
  76. package/test-nodejs/server-Auth_File.js +0 -12
  77. package/test-nodejs/server-api_reply.js +0 -6
  78. package/test-nodejs/server-api_sudo.js +0 -7
  79. package/test-nodejs/server.js +0 -20
  80. package/test-nodejs/signalPack.js +0 -34
  81. package/test-nodejs/signaling.js +0 -61
  82. package/test-nodejs/simple-server.js +0 -13
@@ -1,19 +0,0 @@
1
- import { Server, Auth_Env } from 'iosignal'
2
-
3
- const options = {
4
- port: 7777,
5
- showMetric: 2,
6
- showMessage: 'message'
7
- }
8
- // You can use environment variable BOHO_AUTH
9
-
10
- // $ BOHO_AUTH=id1.key1.255,id2.key2.200 node app.js
11
- // process.env.BOHO_AUTH=id1.key1.255,id2.key2.200
12
-
13
- // or, as constructor argument.
14
- let authInfo = 'id1.key1.255,id2.key2.200'
15
-
16
- let authManager = new Auth_Env(authInfo)
17
- const server = new Server(options, authManager)
18
-
19
-
@@ -1,12 +0,0 @@
1
- import { Server, Auth_File } from 'iosignal'
2
-
3
- const options = {
4
- port: 7777,
5
- showMetric: 2,
6
- showMessage: 'message'
7
- }
8
-
9
- // const server = new Server( options, new Auth_File('../authInfo.json') ) // JSON version. cannot add comments.
10
- const server = new Server(options, new Auth_File('../auth_file.js')) // JS version. it support comments.
11
-
12
-
@@ -1,6 +0,0 @@
1
- import { Server, api_reply } from 'iosignal'
2
-
3
- const server = new Server({ port: 7777 })
4
-
5
- // api response module
6
- server.api('reply', api_reply)
@@ -1,7 +0,0 @@
1
- import { Server, api_sudo, Auth_Env } from 'iosignal'
2
-
3
- let authManager = new Auth_Env('admin.adminkey.255')
4
- const server = new Server({ port: 7777 }, authManager)
5
-
6
- // api response module
7
- server.api('sudo', api_sudo)
@@ -1,20 +0,0 @@
1
- import { Server } from 'iosignal'
2
-
3
- const server = new Server(
4
- {
5
- port: 7777, // WebSocket
6
- congPort: 8888, // CongSocket
7
- showMetric: 2,
8
- showMessage: 'message'
9
- })
10
-
11
-
12
- // text message handler (No binary message)
13
- // print text message
14
- // then reply.
15
- server.on('text_message', (msg, remote) => {
16
- console.log('text_message from(cid): ', remote.cid, msg.toString())
17
- let result = { msg: msg, yourcid: remote.cid, date: new Date().toUTCString() }
18
- let res = JSON.stringify(result)
19
- remote.send(res)
20
- })
@@ -1,34 +0,0 @@
1
- import { parsePayload, getSignalPack, getPayloadFromSignalPack, PAYLOAD_TYPE, MBP } from 'iosignal'
2
-
3
- const type0 = []
4
- const type1t = ['a1']
5
- const type1n = [11]
6
- const type2 = [new Uint8Array(5)]
7
- const type3 = [{ name: 'type3' }]
8
- const type4a = ['a2', 222]
9
- const type4b = [{ name: 'a3' }, 333]
10
- const type5 = [{ a: 1 }, Buffer.from('BBBBBB')]
11
-
12
- // zero or one argument support: 0:EMPTY, 1:TEXT , 2:BINARY signal payload type
13
- console.log(PAYLOAD_TYPE[parsePayload(type0).type], type0) // empty
14
- console.log(PAYLOAD_TYPE[parsePayload(type1t).type], type1t) // text
15
- console.log(PAYLOAD_TYPE[parsePayload(type1n).type], type1n) // number text. there is no Number type of signalPaylod.
16
- console.log(PAYLOAD_TYPE[parsePayload(type2).type], type2) // binary.
17
-
18
- // over two arguments support: 3:Object, 4:MJSON and 5:MBA can hold Number item.
19
- console.log(PAYLOAD_TYPE[parsePayload(type3).type], type3) // Object
20
- console.log(PAYLOAD_TYPE[parsePayload(type4a).type], type4a) // MJSON
21
- console.log(PAYLOAD_TYPE[parsePayload(type4b).type], type4b) // MJSON
22
- console.log(PAYLOAD_TYPE[parsePayload(type5).type], type5) // MBA
23
-
24
-
25
- let signalTag = 'channel'
26
- let signalPack = getSignalPack(signalTag, ...type5)
27
- console.log('signalPack', signalPack)
28
-
29
- let payloadBuffer = getPayloadFromSignalPack(signalPack)
30
- let unpack = MBP.unpack(payloadBuffer)
31
- console.log(unpack)
32
-
33
-
34
-
@@ -1,61 +0,0 @@
1
- import { IO, Server } from 'iosignal'
2
-
3
- let url = 'ws://localhost:5555'
4
- let server = new Server({
5
- port: 5555
6
- // ,showMessage: 'message'
7
- })
8
- let done = false;
9
-
10
- let tx = new IO(url)
11
- tx.on('ready', () => {
12
- console.log('tx ready', tx.cid)
13
- })
14
-
15
-
16
- let rx = new IO(url)
17
- rx.on('ready', () => {
18
- console.log('rx ready', rx.cid)
19
- })
20
-
21
- rx.listen('@', (...args) => {
22
- console.log('uni-cast rxi', args)
23
- })
24
-
25
- rx.listen('channel', (...args) => {
26
- console.log('multi-cast rxi', args)
27
- })
28
-
29
- function sendSignals() {
30
- // uni-casting: tag is receiver CID@.
31
- let tag = rx.cid + '@topic'
32
- tx.signal(tag, ...arg1)
33
- tx.signal(tag, ...arg2)
34
- tx.signal(tag, ...arg3)
35
- tx.signal(tag, ...arg4)
36
- tx.signal(tag, ...arg5)
37
-
38
- // multi-casting: tag is channel name.
39
- tag = 'channel'
40
- tx.signal(tag, ...arg1)
41
- tx.signal(tag, ...arg2)
42
- tx.signal(tag, ...arg3)
43
- tx.signal(tag, ...arg4)
44
- tx.signal(tag, ...arg5)
45
- }
46
-
47
-
48
- const arg1 = ['a1']
49
- const arg2 = ['a2', 222]
50
- const arg3 = [{ name: 'a3' }, 333]
51
- const arg4 = [{ a: 1 }, Buffer.from('KKKKK')]
52
- const arg5 = [new Uint8Array(20)]
53
-
54
-
55
- setTimeout(() => {
56
- sendSignals();
57
- }, 1000)
58
-
59
- setTimeout(() => {
60
- process.exit()
61
- }, 2000)
@@ -1,13 +0,0 @@
1
- import { Server, version } from 'iosignal'
2
-
3
- const server = new Server({
4
- port: 7777,
5
- congPort: 8888,
6
- showMessage: 'message'
7
- })
8
-
9
- console.log( 'iosignal version', version )
10
- server.on('text_message', (data, client) => {
11
- console.log('text_message', data, 'from', client.cid)
12
- client.send('from server. your cid is ' + client.cid + ".")
13
- })