dimples 0.5.3__tar.gz → 0.5.5__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.
Files changed (143) hide show
  1. {dimples-0.5.3 → dimples-0.5.5}/PKG-INFO +1 -1
  2. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/network/session.py +2 -2
  3. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/terminal.py +8 -4
  4. {dimples-0.5.3 → dimples-0.5.5}/dimples/edge/octopus.py +3 -3
  5. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/dispatcher.py +2 -4
  6. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/push.py +4 -5
  7. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/__init__.py +2 -2
  8. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/cache.py +4 -3
  9. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/PKG-INFO +1 -1
  10. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/requires.txt +3 -3
  11. {dimples-0.5.3 → dimples-0.5.5}/setup.py +4 -4
  12. {dimples-0.5.3 → dimples-0.5.5}/README.md +0 -0
  13. {dimples-0.5.3 → dimples-0.5.5}/dimples/__init__.py +0 -0
  14. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/__init__.py +0 -0
  15. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/archivist.py +0 -0
  16. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/checkpoint.py +0 -0
  17. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/__init__.py +0 -0
  18. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/commands.py +0 -0
  19. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/creator.py +0 -0
  20. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/group.py +0 -0
  21. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_expel.py +0 -0
  22. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_invite.py +0 -0
  23. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_join.py +0 -0
  24. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_query.py +0 -0
  25. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_quit.py +0 -0
  26. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_reset.py +0 -0
  27. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/grp_resign.py +0 -0
  28. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/cpu/handshake.py +0 -0
  29. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/facebook.py +0 -0
  30. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/messenger.py +0 -0
  31. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/network/__init__.py +0 -0
  32. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/network/state.py +0 -0
  33. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/network/transition.py +0 -0
  34. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/packer.py +0 -0
  35. {dimples-0.5.3 → dimples-0.5.5}/dimples/client/processor.py +0 -0
  36. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/__init__.py +0 -0
  37. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/anonymous.py +0 -0
  38. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/ans.py +0 -0
  39. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/archivist.py +0 -0
  40. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/__init__.py +0 -0
  41. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/btc.py +0 -0
  42. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/compatible.py +0 -0
  43. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/entity.py +0 -0
  44. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/meta.py +0 -0
  45. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/compat/network.py +0 -0
  46. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/dbi/__init__.py +0 -0
  47. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/dbi/account.py +0 -0
  48. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/dbi/message.py +0 -0
  49. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/dbi/session.py +0 -0
  50. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/facebook.py +0 -0
  51. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/messenger.py +0 -0
  52. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/packer.py +0 -0
  53. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/processer.py +0 -0
  54. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/__init__.py +0 -0
  55. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/ans.py +0 -0
  56. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/block.py +0 -0
  57. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/handshake.py +0 -0
  58. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/login.py +0 -0
  59. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/mute.py +0 -0
  60. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/protocol/report.py +0 -0
  61. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/register.py +0 -0
  62. {dimples-0.5.3 → dimples-0.5.5}/dimples/common/session.py +0 -0
  63. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/__init__.py +0 -0
  64. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/gate.py +0 -0
  65. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/gatekeeper.py +0 -0
  66. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/mars.py +0 -0
  67. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/mtp.py +0 -0
  68. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/protocol/__init__.py +0 -0
  69. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/protocol/mars.py +0 -0
  70. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/protocol/ws.py +0 -0
  71. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/queue.py +0 -0
  72. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/seeker.py +0 -0
  73. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/session.py +0 -0
  74. {dimples-0.5.3 → dimples-0.5.5}/dimples/conn/ws.py +0 -0
  75. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/__init__.py +0 -0
  76. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/account.py +0 -0
  77. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/__init__.py +0 -0
  78. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/base.py +0 -0
  79. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/document.py +0 -0
  80. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/group.py +0 -0
  81. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/group_history.py +0 -0
  82. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/group_keys.py +0 -0
  83. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/login.py +0 -0
  84. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/meta.py +0 -0
  85. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/private.py +0 -0
  86. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/station.py +0 -0
  87. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/dos/user.py +0 -0
  88. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/message.py +0 -0
  89. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/session.py +0 -0
  90. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_cipherkey.py +0 -0
  91. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_document.py +0 -0
  92. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_group.py +0 -0
  93. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_group_history.py +0 -0
  94. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_group_keys.py +0 -0
  95. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_login.py +0 -0
  96. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_message.py +0 -0
  97. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_meta.py +0 -0
  98. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_private.py +0 -0
  99. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_station.py +0 -0
  100. {dimples-0.5.3 → dimples-0.5.5}/dimples/database/t_user.py +0 -0
  101. {dimples-0.5.3 → dimples-0.5.5}/dimples/edge/__init__.py +0 -0
  102. {dimples-0.5.3 → dimples-0.5.5}/dimples/edge/shared.py +0 -0
  103. {dimples-0.5.3 → dimples-0.5.5}/dimples/edge/start.py +0 -0
  104. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/__init__.py +0 -0
  105. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/admin.py +0 -0
  106. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/builder.py +0 -0
  107. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/delegate.py +0 -0
  108. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/emitter.py +0 -0
  109. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/helper.py +0 -0
  110. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/manager.py +0 -0
  111. {dimples-0.5.3 → dimples-0.5.5}/dimples/group/packer.py +0 -0
  112. {dimples-0.5.3 → dimples-0.5.5}/dimples/register/__init__.py +0 -0
  113. {dimples-0.5.3 → dimples-0.5.5}/dimples/register/base.py +0 -0
  114. {dimples-0.5.3 → dimples-0.5.5}/dimples/register/ext.py +0 -0
  115. {dimples-0.5.3 → dimples-0.5.5}/dimples/register/run.py +0 -0
  116. {dimples-0.5.3 → dimples-0.5.5}/dimples/register/shared.py +0 -0
  117. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/__init__.py +0 -0
  118. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/archivist.py +0 -0
  119. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/__init__.py +0 -0
  120. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/ans.py +0 -0
  121. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/document.py +0 -0
  122. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/handshake.py +0 -0
  123. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/login.py +0 -0
  124. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/cpu/report.py +0 -0
  125. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/messenger.py +0 -0
  126. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/packer.py +0 -0
  127. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/processor.py +0 -0
  128. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/session.py +0 -0
  129. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/session_center.py +0 -0
  130. {dimples-0.5.3 → dimples-0.5.5}/dimples/server/trace.py +0 -0
  131. {dimples-0.5.3 → dimples-0.5.5}/dimples/station/__init__.py +0 -0
  132. {dimples-0.5.3 → dimples-0.5.5}/dimples/station/handler.py +0 -0
  133. {dimples-0.5.3 → dimples-0.5.5}/dimples/station/shared.py +0 -0
  134. {dimples-0.5.3 → dimples-0.5.5}/dimples/station/start.py +0 -0
  135. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/config.py +0 -0
  136. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/dos.py +0 -0
  137. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/log.py +0 -0
  138. {dimples-0.5.3 → dimples-0.5.5}/dimples/utils/singleton.py +0 -0
  139. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/SOURCES.txt +0 -0
  140. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/dependency_links.txt +0 -0
  141. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/entry_points.txt +0 -0
  142. {dimples-0.5.3 → dimples-0.5.5}/dimples.egg-info/top_level.txt +0 -0
  143. {dimples-0.5.3 → dimples-0.5.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 0.5.3
3
+ Version: 0.5.5
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -40,11 +40,11 @@ from typing import Optional, List
40
40
 
41
41
  from dimsdk import Station
42
42
 
43
- from startrek.fsm import Daemon
44
43
  from startrek.fsm import Delegate as StateDelegate
45
44
  from startrek import Docker, DockerStatus
46
45
  from startrek import Arrival
47
46
 
47
+ from ...utils import Daemon
48
48
  from ...common import SessionDBI
49
49
  from ...conn import BaseSession
50
50
  from ...conn import MTPStreamArrival
@@ -84,7 +84,7 @@ class ClientSession(BaseSession):
84
84
  # state machine
85
85
  self.__fsm = StateMachine(session=self)
86
86
  # background thread to drive gate & hub processing
87
- self.__daemon = Daemon(target=self.run)
87
+ self.__daemon = Daemon(target=self)
88
88
 
89
89
  @property
90
90
  def station(self) -> Station:
@@ -30,12 +30,11 @@
30
30
  Client
31
31
  """
32
32
 
33
- import threading
34
33
  import time
35
34
 
36
35
  from dimples import EntityType
37
36
 
38
- from ..utils import Runner, Logging
37
+ from ..utils import Runner, Daemon, Logging
39
38
  from ..utils import StateDelegate
40
39
 
41
40
  from .network import ClientSession
@@ -59,6 +58,7 @@ class Terminal(Runner, DeviceMixin, Logging, StateDelegate):
59
58
  self.__messenger = messenger
60
59
  # default online time
61
60
  self.__last_time = time.time()
61
+ self.__daemon = Daemon(target=self)
62
62
 
63
63
  @property
64
64
  def messenger(self) -> ClientMessenger:
@@ -74,8 +74,12 @@ class Terminal(Runner, DeviceMixin, Logging, StateDelegate):
74
74
  return self.session.running
75
75
 
76
76
  def start(self):
77
- thread = threading.Thread(target=self.run, daemon=True)
78
- thread.start()
77
+ self.__daemon.start()
78
+
79
+ # Override
80
+ def stop(self):
81
+ self.__daemon.stop()
82
+ super().stop()
79
83
 
80
84
  # Override
81
85
  def setup(self):
@@ -41,7 +41,7 @@ from dimsdk import ReliableMessage
41
41
  from dimsdk import Station
42
42
 
43
43
  from ..utils import Log, Logging
44
- from ..utils import Runner
44
+ from ..utils import Runner, Daemon
45
45
  from ..utils import get_msg_sig
46
46
  from ..common import ProviderInfo
47
47
  from ..common import MessageDBI, SessionDBI
@@ -67,6 +67,7 @@ class Octopus(Runner, Logging):
67
67
  self.__outers: Set[Terminal] = set()
68
68
  self.__outer_map = weakref.WeakValueDictionary()
69
69
  self.__outer_lock = threading.Lock()
70
+ self.__daemon = Daemon(target=self, daemonic=False)
70
71
 
71
72
  @property
72
73
  def shared(self) -> GlobalVariable:
@@ -129,8 +130,7 @@ class Octopus(Runner, Logging):
129
130
  return terminal
130
131
 
131
132
  def start(self):
132
- thread = threading.Thread(target=self.run)
133
- thread.start()
133
+ self.__daemon.start()
134
134
 
135
135
  # Override
136
136
  def stop(self):
@@ -34,13 +34,11 @@ import threading
34
34
  from abc import ABC, abstractmethod
35
35
  from typing import Optional, List
36
36
 
37
- from startrek.fsm import Daemon
38
-
39
37
  from dimsdk import EntityType, ID
40
38
  from dimsdk import Content, ReceiptCommand
41
39
  from dimsdk import ReliableMessage
42
40
 
43
- from ..utils import Singleton, Logging, Runner
41
+ from ..utils import Singleton, Logging, Runner, Daemon
44
42
  from ..common import CommonFacebook
45
43
  from ..common import MessageDBI, SessionDBI
46
44
  from ..common import ReliableMessageDBI
@@ -211,7 +209,7 @@ class Roamer(Runner, Logging):
211
209
  # roaming (user id => station id)
212
210
  self.__queue: List[RoamingInfo] = []
213
211
  self.__lock = threading.Lock()
214
- self.__daemon = Daemon(target=self.run)
212
+ self.__daemon = Daemon(target=self)
215
213
 
216
214
  @property
217
215
  def database(self) -> Optional[MessageDBI]:
@@ -36,10 +36,10 @@ import time
36
36
  from abc import ABC, abstractmethod
37
37
  from typing import Optional, List, Dict
38
38
 
39
- from startrek.fsm import Daemon
40
39
  from dimsdk import ID, ReliableMessage
41
40
 
42
- from ..utils import Singleton, Logging, Runner
41
+ from ..utils import Runner, Daemon
42
+ from ..utils import Singleton, Logging
43
43
 
44
44
 
45
45
  class MessageQueue(Logging):
@@ -125,9 +125,8 @@ class PushCenter(Runner, Logging):
125
125
  self.__keeper = BadgeKeeper()
126
126
  self.__service: Optional[PushService] = None
127
127
  # background thread
128
- daemon = Daemon(target=self.run)
129
- daemon.start()
130
- self.__daemon = daemon
128
+ self.__daemon = Daemon(target=self)
129
+ self.__daemon.start()
131
130
 
132
131
  @property
133
132
  def service(self) -> Optional[PushService]:
@@ -50,7 +50,7 @@ from dimsdk import DocumentHelper
50
50
 
51
51
  from dimplugins.crypto.aes import random_bytes
52
52
 
53
- from startrek.fsm import Runnable, Runner
53
+ from startrek.fsm import Runnable, Runner, Daemon
54
54
  from startrek.fsm import Delegate as StateDelegate
55
55
  from startrek.net.channel import get_remote_address, get_local_address
56
56
 
@@ -122,7 +122,7 @@ __all__ = [
122
122
 
123
123
  'Converter',
124
124
 
125
- 'Runnable', 'Runner',
125
+ 'Runnable', 'Runner', 'Daemon',
126
126
  'StateDelegate',
127
127
 
128
128
  'get_remote_address', 'get_local_address',
@@ -32,7 +32,7 @@
32
32
  import time
33
33
  from typing import TypeVar, Generic, Optional, Dict, Set, Tuple
34
34
 
35
- from startrek.fsm import Daemon
35
+ from startrek.fsm import Daemon, Runnable
36
36
  from dimsdk import DateTime
37
37
 
38
38
  from .singleton import Singleton
@@ -135,12 +135,12 @@ class CachePool(Generic[K, V]):
135
135
 
136
136
 
137
137
  @Singleton
138
- class CacheManager:
138
+ class CacheManager(Runnable):
139
139
 
140
140
  def __init__(self):
141
141
  self.__pools: Dict[str, CachePool] = {} # name -> pool
142
142
  # thread for cleaning caches
143
- self.__daemon = Daemon(target=self.run)
143
+ self.__daemon = Daemon(target=self)
144
144
  self.__running = False
145
145
 
146
146
  @property
@@ -154,6 +154,7 @@ class CacheManager:
154
154
  def stop(self):
155
155
  self.__daemon.stop()
156
156
 
157
+ # Override
157
158
  def run(self):
158
159
  next_time = 0
159
160
  while self.running:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 0.5.3
3
+ Version: 0.5.5
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -3,6 +3,6 @@ dimsdk>=1.0.3
3
3
  dimp>=1.0.3
4
4
  dkd>=1.0.2
5
5
  mkm>=1.0.2
6
- startrek>=1.1.2
7
- tcp>=1.1.2
8
- udp>=1.1.2
6
+ startrek>=1.2.0
7
+ tcp>=1.2.0
8
+ udp>=1.2.0
@@ -14,7 +14,7 @@ import io
14
14
 
15
15
  from setuptools import setup, find_packages
16
16
 
17
- __version__ = '0.5.3'
17
+ __version__ = '0.5.5'
18
18
  __author__ = 'Albert Moky'
19
19
  __contact__ = 'albert.moky@gmail.com'
20
20
 
@@ -58,8 +58,8 @@ setup(
58
58
  'dkd>=1.0.2',
59
59
  'mkm>=1.0.2',
60
60
 
61
- 'startrek>=1.1.2',
62
- 'tcp>=1.1.2',
63
- 'udp>=1.1.2',
61
+ 'startrek>=1.2.0',
62
+ 'tcp>=1.2.0',
63
+ 'udp>=1.2.0',
64
64
  ]
65
65
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes