dimples 1.3.1__tar.gz → 1.3.2__tar.gz
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.
- {dimples-1.3.1 → dimples-1.3.2}/PKG-INFO +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/facebook.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/flexible.py +5 -5
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/gate.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/gatekeeper.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/mars.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/mtp.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/protocol/__init__.py +1 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/ws.py +32 -5
- {dimples-1.3.1 → dimples-1.3.2}/dimples/edge/shared.py +7 -3
- {dimples-1.3.1 → dimples-1.3.2}/dimples/station/shared.py +5 -1
- {dimples-1.3.1 → dimples-1.3.2}/dimples.egg-info/PKG-INFO +1 -1
- dimples-1.3.2/dimples.egg-info/requires.txt +6 -0
- {dimples-1.3.1 → dimples-1.3.2}/setup.py +8 -8
- dimples-1.3.1/dimples.egg-info/requires.txt +0 -6
- {dimples-1.3.1 → dimples-1.3.2}/README.md +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/checker.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/checkpoint.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/commands.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/creator.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/customized.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/group.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_expel.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_invite.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_join.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_query.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_quit.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_reset.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/grp_resign.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/cpu/handshake.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/facebook.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/messenger.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/network/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/network/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/network/state.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/network/transition.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/packer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/processor.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/client/terminal.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/anonymous.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/ans.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/archivist.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/checker.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/address.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/compatible.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/entity.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/loader.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/meta.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/compat/network.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/dbi/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/dbi/account.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/dbi/message.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/dbi/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/messenger.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/packer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/processer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/ans.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/block.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/customized.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/group.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/handshake.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/login.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/mute.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/password.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/report.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/utils.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/protocol/version.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/register.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/common/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/protocol/mars.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/protocol/ws.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/queue.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/seeker.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/conn/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/account.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/base.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/document.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/group.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/group_history.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/group_keys.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/login.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/meta.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/private.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/station.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/dos/user.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/message.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/base.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/document.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/group.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/grp_history.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/grp_keys.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/login.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/message.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/meta.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/station.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/redis/user.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_base.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_cipherkey.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_document.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_group.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_group_history.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_group_keys.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_login.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_message.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_meta.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_private.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_station.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/database/t_user.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/edge/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/edge/messenger.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/edge/octopus.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/edge/start.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/emitter.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/admin.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/builder.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/delegate.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/emitter.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/helper.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/manager.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/packer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/group/shared.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/register/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/register/base.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/register/ext.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/register/run.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/register/shared.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/checker.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/ans.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/creator.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/document.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/handshake.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/login.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/cpu/report.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/deliver.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/dis_roamer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/dispatcher.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/facebook.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/messenger.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/packer.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/processor.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/push.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/session.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/session_center.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/server/trace.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/station/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/station/handler.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/station/start.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/utils/__init__.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/utils/cache.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/utils/checker.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/utils/config.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples/utils/log.py +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples.egg-info/SOURCES.txt +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples.egg-info/dependency_links.txt +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples.egg-info/entry_points.txt +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/dimples.egg-info/top_level.txt +0 -0
- {dimples-1.3.1 → dimples-1.3.2}/setup.cfg +0 -0
|
@@ -100,7 +100,7 @@ class CommonFacebook(Facebook, Logging, ABC):
|
|
|
100
100
|
archivist.current_user = user
|
|
101
101
|
return user
|
|
102
102
|
|
|
103
|
-
def set_current_user(self, user: User):
|
|
103
|
+
async def set_current_user(self, user: User):
|
|
104
104
|
if user.data_source is None:
|
|
105
105
|
user.data_source = self
|
|
106
106
|
self.archivist.current_user = user
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
# SOFTWARE.
|
|
29
29
|
# ==============================================================================
|
|
30
30
|
|
|
31
|
-
from typing import Optional,
|
|
31
|
+
from typing import Optional, List
|
|
32
32
|
|
|
33
33
|
from startrek.types import SocketAddress
|
|
34
34
|
from startrek.skywalker import Runner
|
|
@@ -140,13 +140,13 @@ class FlexiblePorter(StarPorter, DeparturePacker, Logging):
|
|
|
140
140
|
return await docker.process()
|
|
141
141
|
|
|
142
142
|
# Override
|
|
143
|
-
async def send_data(self, payload:
|
|
143
|
+
async def send_data(self, payload: bytes) -> bool:
|
|
144
144
|
docker = self.__porter
|
|
145
145
|
if docker is None:
|
|
146
146
|
self.error(msg='docker not ready, failed to send payload: %s' % payload)
|
|
147
147
|
return False
|
|
148
148
|
elif isinstance(docker, WSPorter):
|
|
149
|
-
ship = docker.pack(payload=payload)
|
|
149
|
+
ship = docker.pack(payload=payload, priority=0, needs_respond=True)
|
|
150
150
|
return await docker.send_ship(ship=ship)
|
|
151
151
|
elif isinstance(docker, MTPStreamPorter):
|
|
152
152
|
# sn = TransactionID.from_data(data=ship.sn)
|
|
@@ -170,11 +170,11 @@ class FlexiblePorter(StarPorter, DeparturePacker, Logging):
|
|
|
170
170
|
await docker.heartbeat()
|
|
171
171
|
|
|
172
172
|
# Override
|
|
173
|
-
def pack(self, payload: bytes, priority: int
|
|
173
|
+
def pack(self, payload: bytes, priority: int, needs_respond: bool) -> Optional[Departure]:
|
|
174
174
|
docker = self.__porter
|
|
175
175
|
if docker is None:
|
|
176
176
|
self.error(msg='docker not ready, failed to pack: %s' % payload)
|
|
177
177
|
return None
|
|
178
178
|
else:
|
|
179
179
|
assert isinstance(docker, DeparturePacker), 'docker error: %s' % docker
|
|
180
|
-
return docker.pack(payload=payload, priority=priority)
|
|
180
|
+
return docker.pack(payload=payload, priority=priority, needs_respond=needs_respond)
|
|
@@ -116,7 +116,7 @@ class CommonGate(StarGate, Logging, Generic[H], ABC):
|
|
|
116
116
|
ship = MarsStreamPorter.create_departure(mars=mars)
|
|
117
117
|
return await worker.send_ship(ship=ship)
|
|
118
118
|
elif isinstance(worker, WSPorter):
|
|
119
|
-
ship = worker.pack(payload=payload)
|
|
119
|
+
ship = worker.pack(payload=payload, priority=1, needs_respond=False)
|
|
120
120
|
return await worker.send_ship(ship=ship)
|
|
121
121
|
else:
|
|
122
122
|
raise LookupError('docker error (%s, %s): %s' % (remote, local, worker))
|
|
@@ -261,7 +261,7 @@ class GateKeeper(Runner, PorterDelegate, Logging):
|
|
|
261
261
|
async def _porter_pack(self, payload: bytes, priority: int = 0) -> Optional[Departure]:
|
|
262
262
|
docker = await self.gate.fetch_porter(remote=self.remote_address, local=None)
|
|
263
263
|
assert isinstance(docker, DeparturePacker), 'departure packer error: %s' % docker
|
|
264
|
-
return docker.pack(payload=payload, priority=priority)
|
|
264
|
+
return docker.pack(payload=payload, priority=priority, needs_respond=True)
|
|
265
265
|
|
|
266
266
|
def _queue_append(self, msg: ReliableMessage, ship: Departure) -> bool:
|
|
267
267
|
return self.__queue.append(msg=msg, ship=ship)
|
|
@@ -292,7 +292,7 @@ class MarsStreamPorter(PlainPorter, DeparturePacker):
|
|
|
292
292
|
pass
|
|
293
293
|
|
|
294
294
|
# Override
|
|
295
|
-
def pack(self, payload: bytes, priority: int
|
|
295
|
+
def pack(self, payload: bytes, priority: int, needs_respond: bool) -> Optional[Departure]:
|
|
296
296
|
mars = MarsHelper.create_push(payload=payload)
|
|
297
297
|
return self.create_departure(mars=mars, priority=priority)
|
|
298
298
|
|
|
@@ -197,7 +197,7 @@ class MTPStreamPorter(PackagePorter, DeparturePacker):
|
|
|
197
197
|
return MTPHelper.respond_message(sn=sn, pages=pages, index=index, body=OK)
|
|
198
198
|
|
|
199
199
|
# Override
|
|
200
|
-
def pack(self, payload: bytes, priority: int
|
|
200
|
+
def pack(self, payload: bytes, priority: int, needs_respond: bool) -> Optional[Departure]:
|
|
201
201
|
pkg = MTPHelper.create_message(body=payload)
|
|
202
202
|
return self._create_departure(pack=pkg, priority=priority)
|
|
203
203
|
|
|
@@ -40,7 +40,7 @@ from .mars import NetMsg, NetMsgHead, NetMsgSeq
|
|
|
40
40
|
class DeparturePacker(ABC):
|
|
41
41
|
|
|
42
42
|
@abstractmethod
|
|
43
|
-
def pack(self, payload: bytes, priority: int
|
|
43
|
+
def pack(self, payload: bytes, priority: int, needs_respond: bool) -> Optional[Departure]:
|
|
44
44
|
raise NotImplemented
|
|
45
45
|
|
|
46
46
|
|
|
@@ -35,7 +35,7 @@ from typing import Optional, List, Tuple
|
|
|
35
35
|
from startrek.types import SocketAddress
|
|
36
36
|
from startrek.skywalker import Runner
|
|
37
37
|
from startrek import Arrival, Departure
|
|
38
|
-
from startrek import ArrivalShip, DepartureShip
|
|
38
|
+
from startrek import ArrivalShip, DepartureShip
|
|
39
39
|
from startrek import BaseConnection, BaseChannel
|
|
40
40
|
|
|
41
41
|
from tcp import PlainPorter
|
|
@@ -51,6 +51,18 @@ class WSArrival(ArrivalShip):
|
|
|
51
51
|
self.__package = package
|
|
52
52
|
self.__payload = payload
|
|
53
53
|
|
|
54
|
+
# Override
|
|
55
|
+
def __str__(self) -> str:
|
|
56
|
+
clazz = self.__class__.__name__
|
|
57
|
+
size = len(self.__package)
|
|
58
|
+
return '<%s size=%d />' % (clazz, size)
|
|
59
|
+
|
|
60
|
+
# Override
|
|
61
|
+
def __repr__(self) -> str:
|
|
62
|
+
clazz = self.__class__.__name__
|
|
63
|
+
size = len(self.__package)
|
|
64
|
+
return '<%s size=%d />' % (clazz, size)
|
|
65
|
+
|
|
54
66
|
@property
|
|
55
67
|
def package(self) -> bytes:
|
|
56
68
|
return self.__package
|
|
@@ -80,6 +92,18 @@ class WSDeparture(DepartureShip):
|
|
|
80
92
|
self.__payload = payload
|
|
81
93
|
self.__important = important
|
|
82
94
|
|
|
95
|
+
# Override
|
|
96
|
+
def __str__(self) -> str:
|
|
97
|
+
clazz = self.__class__.__name__
|
|
98
|
+
size = len(self.__package)
|
|
99
|
+
return '<%s size=%d />' % (clazz, size)
|
|
100
|
+
|
|
101
|
+
# Override
|
|
102
|
+
def __repr__(self) -> str:
|
|
103
|
+
clazz = self.__class__.__name__
|
|
104
|
+
size = len(self.__package)
|
|
105
|
+
return '<%s size=%d />' % (clazz, size)
|
|
106
|
+
|
|
83
107
|
@property
|
|
84
108
|
def package(self) -> bytes:
|
|
85
109
|
return self.__package
|
|
@@ -241,8 +265,7 @@ class WSPorter(PlainPorter, DeparturePacker):
|
|
|
241
265
|
elif body_len == 4:
|
|
242
266
|
if body == PING:
|
|
243
267
|
# 'PING' -> 'PONG'
|
|
244
|
-
|
|
245
|
-
await self.send_ship(ship=ship)
|
|
268
|
+
await self.respond(payload=PONG)
|
|
246
269
|
return None
|
|
247
270
|
elif body == PONG or body == NOOP:
|
|
248
271
|
# ignore
|
|
@@ -265,9 +288,13 @@ class WSPorter(PlainPorter, DeparturePacker):
|
|
|
265
288
|
pass
|
|
266
289
|
|
|
267
290
|
# Override
|
|
268
|
-
def
|
|
291
|
+
def _create_departure(self, payload: bytes, priority: int, needs_respond: bool) -> Departure:
|
|
292
|
+
return self.pack(payload=payload, priority=priority, needs_respond=needs_respond)
|
|
293
|
+
|
|
294
|
+
# Override
|
|
295
|
+
def pack(self, payload: bytes, priority: int, needs_respond: bool) -> Optional[Departure]:
|
|
269
296
|
req_pack = WebSocket.pack(payload=payload)
|
|
270
|
-
important = self.__ack_enable
|
|
297
|
+
important = needs_respond and self.__ack_enable
|
|
271
298
|
return WSDeparture(package=req_pack, payload=payload, priority=priority, important=important)
|
|
272
299
|
|
|
273
300
|
@classmethod
|
|
@@ -86,6 +86,9 @@ class GlobalVariable:
|
|
|
86
86
|
@messenger.setter
|
|
87
87
|
def messenger(self, transceiver: ClientMessenger):
|
|
88
88
|
self.__messenger = transceiver
|
|
89
|
+
# set for group manager
|
|
90
|
+
man = SharedGroupManager()
|
|
91
|
+
man.messenger = transceiver
|
|
89
92
|
# set for entity checker
|
|
90
93
|
checker = self.facebook.checker
|
|
91
94
|
assert isinstance(checker, ClientChecker), 'entity checker error: %s' % checker
|
|
@@ -130,7 +133,7 @@ class GlobalVariable:
|
|
|
130
133
|
visa = Document.parse(document=visa.copy_dictionary())
|
|
131
134
|
visa.sign(private_key=sign_key)
|
|
132
135
|
await facebook.save_document(document=visa)
|
|
133
|
-
facebook.set_current_user(user=user)
|
|
136
|
+
await facebook.set_current_user(user=user)
|
|
134
137
|
|
|
135
138
|
|
|
136
139
|
def create_redis_connector(config: Config) -> Optional[RedisConnector]:
|
|
@@ -178,7 +181,7 @@ async def create_database(config: Config) -> Tuple[AccountDBI, MessageDBI, Sessi
|
|
|
178
181
|
found = True
|
|
179
182
|
break
|
|
180
183
|
if not found:
|
|
181
|
-
print('removing neighbor station: %s' % old)
|
|
184
|
+
print('removing neighbor station: %s, %s' % (old, provider))
|
|
182
185
|
await sdb.remove_station(host=old.host, port=old.port, provider=provider)
|
|
183
186
|
# 2. add new neighbors
|
|
184
187
|
for node in neighbors:
|
|
@@ -188,8 +191,9 @@ async def create_database(config: Config) -> Tuple[AccountDBI, MessageDBI, Sessi
|
|
|
188
191
|
found = True
|
|
189
192
|
break
|
|
190
193
|
if not found:
|
|
191
|
-
print('adding neighbor node: %s' % node)
|
|
194
|
+
print('adding neighbor node: %s -> %s' % (node, provider))
|
|
192
195
|
await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
|
|
196
|
+
# OK
|
|
193
197
|
return adb, mdb, sdb
|
|
194
198
|
|
|
195
199
|
|
|
@@ -90,6 +90,9 @@ class GlobalVariable:
|
|
|
90
90
|
@messenger.setter
|
|
91
91
|
def messenger(self, transceiver: ServerMessenger):
|
|
92
92
|
self.__messenger = transceiver
|
|
93
|
+
# set for group manager
|
|
94
|
+
man = SharedGroupManager()
|
|
95
|
+
man.messenger = transceiver
|
|
93
96
|
# set for entity checker
|
|
94
97
|
checker = self.facebook.checker
|
|
95
98
|
assert isinstance(checker, ServerChecker), 'entity checker error: %s' % checker
|
|
@@ -145,7 +148,7 @@ class GlobalVariable:
|
|
|
145
148
|
visa = Document.parse(document=visa.copy_dictionary())
|
|
146
149
|
visa.sign(private_key=sign_key)
|
|
147
150
|
await facebook.save_document(document=visa)
|
|
148
|
-
facebook.set_current_user(user=user)
|
|
151
|
+
await facebook.set_current_user(user=user)
|
|
149
152
|
|
|
150
153
|
|
|
151
154
|
def create_redis_connector(config: Config) -> Optional[RedisConnector]:
|
|
@@ -205,6 +208,7 @@ async def create_database(config: Config) -> Tuple[AccountDBI, MessageDBI, Sessi
|
|
|
205
208
|
if not found:
|
|
206
209
|
print('adding neighbor node: %s' % node)
|
|
207
210
|
await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
|
|
211
|
+
# OK
|
|
208
212
|
return adb, mdb, sdb
|
|
209
213
|
|
|
210
214
|
|
|
@@ -14,7 +14,7 @@ import io
|
|
|
14
14
|
|
|
15
15
|
from setuptools import setup, find_packages
|
|
16
16
|
|
|
17
|
-
__version__ = '1.3.
|
|
17
|
+
__version__ = '1.3.2'
|
|
18
18
|
__author__ = 'Albert Moky'
|
|
19
19
|
__contact__ = 'albert.moky@gmail.com'
|
|
20
20
|
|
|
@@ -53,14 +53,14 @@ setup(
|
|
|
53
53
|
# 'ecdsa', # 0.16.1
|
|
54
54
|
'dimplugins>=2.2.1',
|
|
55
55
|
|
|
56
|
-
'dimsdk>=2.2.
|
|
57
|
-
# 'dimp>=2.2.
|
|
58
|
-
# 'dkd>=2.2.
|
|
59
|
-
# 'mkm>=2.2.
|
|
56
|
+
'dimsdk>=2.2.2',
|
|
57
|
+
# 'dimp>=2.2.2',
|
|
58
|
+
# 'dkd>=2.2.2',
|
|
59
|
+
# 'mkm>=2.2.2',
|
|
60
60
|
|
|
61
|
-
'startrek>=2.2.
|
|
62
|
-
'tcp>=2.2.
|
|
63
|
-
'udp>=2.2.
|
|
61
|
+
'startrek>=2.2.2',
|
|
62
|
+
'tcp>=2.2.2',
|
|
63
|
+
'udp>=2.2.2',
|
|
64
64
|
|
|
65
65
|
'aiou>=0.3.0',
|
|
66
66
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|