dimples 0.5.7__tar.gz → 0.5.8__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-0.5.7 → dimples-0.5.8}/PKG-INFO +1 -1
- {dimples-0.5.7 → dimples-0.5.8}/dimples/edge/octopus.py +8 -9
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/dispatcher.py +21 -13
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/PKG-INFO +1 -1
- {dimples-0.5.7 → dimples-0.5.8}/setup.py +1 -1
- {dimples-0.5.7 → dimples-0.5.8}/README.md +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/archivist.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/checkpoint.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/commands.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/creator.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/group.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_expel.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_invite.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_join.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_query.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_quit.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_reset.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/grp_resign.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/cpu/handshake.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/facebook.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/messenger.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/network/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/network/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/network/state.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/network/transition.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/packer.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/processor.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/client/terminal.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/anonymous.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/ans.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/archivist.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/btc.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/compatible.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/entity.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/meta.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/compat/network.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/dbi/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/dbi/account.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/dbi/message.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/dbi/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/facebook.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/messenger.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/packer.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/processer.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/ans.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/block.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/handshake.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/login.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/mute.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/protocol/report.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/register.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/common/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/gate.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/gatekeeper.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/mars.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/mtp.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/protocol/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/protocol/mars.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/protocol/ws.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/queue.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/seeker.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/conn/ws.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/account.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/base.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/document.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/group.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/group_history.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/group_keys.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/login.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/meta.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/private.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/station.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/dos/user.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/message.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_cipherkey.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_document.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_group.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_group_history.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_group_keys.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_login.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_message.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_meta.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_private.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_station.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/database/t_user.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/edge/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/edge/shared.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/edge/start.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/admin.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/builder.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/delegate.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/emitter.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/helper.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/manager.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/group/packer.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/register/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/register/base.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/register/ext.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/register/run.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/register/shared.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/archivist.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/ans.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/document.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/handshake.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/login.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/cpu/report.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/messenger.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/packer.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/processor.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/push.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/session.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/session_center.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/server/trace.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/station/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/station/handler.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/station/shared.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/station/start.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/__init__.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/cache.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/config.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/dos.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/log.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples/utils/singleton.py +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/SOURCES.txt +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/dependency_links.txt +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/entry_points.txt +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/requires.txt +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/dimples.egg-info/top_level.txt +0 -0
- {dimples-0.5.7 → dimples-0.5.8}/setup.cfg +0 -0
|
@@ -220,15 +220,14 @@ class Octopus(Runner, Logging):
|
|
|
220
220
|
old_recipients = msg.get('recipients')
|
|
221
221
|
old_recipients = [] if old_recipients is None else ID.convert(old_recipients)
|
|
222
222
|
for item in neighbors:
|
|
223
|
-
if item
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
# avoid the new recipients redirect it to same targets
|
|
229
|
-
self.info(msg='append new recipients: %s, %s
|
|
230
|
-
|
|
231
|
-
all_recipients.append(item)
|
|
223
|
+
if item in old_recipients:
|
|
224
|
+
self.info(msg='skip exists station: %s' % item)
|
|
225
|
+
continue
|
|
226
|
+
self.info(msg='new neighbor station: %s' % item)
|
|
227
|
+
new_recipients.add(item)
|
|
228
|
+
# update 'recipients' to avoid the new recipients redirect it to same targets
|
|
229
|
+
self.info(msg='append new recipients: %s, %s + %s' % (receiver, new_recipients, old_recipients))
|
|
230
|
+
all_recipients = list(old_recipients) + list(new_recipients)
|
|
232
231
|
msg['recipients'] = ID.revert(all_recipients)
|
|
233
232
|
#
|
|
234
233
|
# 1. send to the new recipients (neighbor stations)
|
|
@@ -206,6 +206,9 @@ class Dispatcher(MessageDeliver, Logging):
|
|
|
206
206
|
return [res]
|
|
207
207
|
|
|
208
208
|
def __broadcast_message(self, msg: ReliableMessage, receiver: ID, neighbors: Set[ID]) -> List[Content]:
|
|
209
|
+
current = self.facebook.current_user
|
|
210
|
+
assert current is not None, 'failed to get current station'
|
|
211
|
+
current = current.identifier
|
|
209
212
|
#
|
|
210
213
|
# 0. check recipients
|
|
211
214
|
#
|
|
@@ -213,15 +216,17 @@ class Dispatcher(MessageDeliver, Logging):
|
|
|
213
216
|
old_recipients = msg.get('recipients')
|
|
214
217
|
old_recipients = [] if old_recipients is None else ID.convert(old_recipients)
|
|
215
218
|
for item in neighbors:
|
|
216
|
-
if item
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
219
|
+
if item == current:
|
|
220
|
+
self.info(msg='skip current station: %s' % item)
|
|
221
|
+
continue
|
|
222
|
+
elif item in old_recipients:
|
|
223
|
+
self.info(msg='skip exists station: %s' % item)
|
|
224
|
+
continue
|
|
225
|
+
self.info(msg='new neighbor station: %s' % item)
|
|
226
|
+
new_recipients.add(item)
|
|
227
|
+
# set 'recipients' in the msg to avoid the new recipients redirect it to same targets
|
|
228
|
+
self.info(msg='append new recipients: %s, %s + %s' % (receiver, new_recipients, old_recipients))
|
|
229
|
+
all_recipients = list(old_recipients) + list(new_recipients)
|
|
225
230
|
msg['recipients'] = ID.revert(all_recipients)
|
|
226
231
|
#
|
|
227
232
|
# 1. push to neighbor stations directly
|
|
@@ -230,10 +235,13 @@ class Dispatcher(MessageDeliver, Logging):
|
|
|
230
235
|
for target in new_recipients:
|
|
231
236
|
if session_push(msg=msg, receiver=target) == 0:
|
|
232
237
|
indirect_neighbors.add(target)
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
238
|
+
# remove unsuccessful items
|
|
239
|
+
for item in indirect_neighbors:
|
|
240
|
+
new_recipients.discard(item)
|
|
241
|
+
# update 'recipients' before redirect via bridge
|
|
242
|
+
self.info(msg='update recipients: %s, %s + %s' % (receiver, new_recipients, old_recipients))
|
|
243
|
+
all_recipients = list(old_recipients) + list(new_recipients)
|
|
244
|
+
msg['recipients'] = ID.revert(all_recipients)
|
|
237
245
|
#
|
|
238
246
|
# 2. push to other neighbor stations via station bridge
|
|
239
247
|
#
|
|
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
|