dimples 1.6.1__tar.gz → 1.6.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.
Files changed (188) hide show
  1. {dimples-1.6.1 → dimples-1.6.2}/PKG-INFO +4 -4
  2. {dimples-1.6.1 → dimples-1.6.2}/README.md +3 -3
  3. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/compat/loader.py +1 -0
  4. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/mkm/utils.py +4 -2
  5. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/gate.py +3 -4
  6. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/gatekeeper.py +14 -13
  7. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/document.py +1 -1
  8. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/__init__.py +0 -3
  9. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/PKG-INFO +4 -4
  10. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/requires.txt +3 -3
  11. {dimples-1.6.1 → dimples-1.6.2}/setup.py +4 -4
  12. {dimples-1.6.1 → dimples-1.6.2}/LICENSE +0 -0
  13. {dimples-1.6.1 → dimples-1.6.2}/dimples/__init__.py +0 -0
  14. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/__init__.py +0 -0
  15. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/checker.py +0 -0
  16. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/checkpoint.py +0 -0
  17. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/compat/__init__.py +0 -0
  18. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/__init__.py +0 -0
  19. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/app/__init__.py +0 -0
  20. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/app/filter.py +0 -0
  21. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/app/group.py +0 -0
  22. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/app/handler.py +0 -0
  23. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/commands.py +0 -0
  24. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/creator.py +0 -0
  25. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/customized.py +0 -0
  26. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/group.py +0 -0
  27. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_expel.py +0 -0
  28. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_invite.py +0 -0
  29. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_join.py +0 -0
  30. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_query.py +0 -0
  31. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_quit.py +0 -0
  32. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_reset.py +0 -0
  33. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/grp_resign.py +0 -0
  34. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/cpu/handshake.py +0 -0
  35. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/facebook.py +0 -0
  36. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/messenger.py +0 -0
  37. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/network/__init__.py +0 -0
  38. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/network/session.py +0 -0
  39. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/network/state.py +0 -0
  40. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/network/transition.py +0 -0
  41. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/packer.py +0 -0
  42. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/processor.py +0 -0
  43. {dimples-1.6.1 → dimples-1.6.2}/dimples/client/terminal.py +0 -0
  44. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/__init__.py +0 -0
  45. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/anonymous.py +0 -0
  46. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/ans.py +0 -0
  47. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/archivist.py +0 -0
  48. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/checker.py +0 -0
  49. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/__init__.py +0 -0
  50. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/address.py +0 -0
  51. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/compatible.py +0 -0
  52. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/compressor.py +0 -0
  53. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/entity.py +0 -0
  54. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/loader.py +0 -0
  55. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/meta.py +0 -0
  56. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/compat/network.py +0 -0
  57. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/dbi/__init__.py +0 -0
  58. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/dbi/account.py +0 -0
  59. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/dbi/message.py +0 -0
  60. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/dbi/session.py +0 -0
  61. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/facebook.py +0 -0
  62. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/messenger.py +0 -0
  63. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/mkm/__init__.py +0 -0
  64. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/mkm/bot.py +0 -0
  65. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/mkm/station.py +0 -0
  66. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/packer.py +0 -0
  67. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/processer.py +0 -0
  68. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/__init__.py +0 -0
  69. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/ans.py +0 -0
  70. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/app.py +0 -0
  71. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/block.py +0 -0
  72. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/groups.py +0 -0
  73. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/grp_admin.py +0 -0
  74. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/handshake.py +0 -0
  75. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/login.py +0 -0
  76. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/mute.py +0 -0
  77. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/password.py +0 -0
  78. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/report.py +0 -0
  79. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/roles.py +0 -0
  80. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/utils.py +0 -0
  81. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/protocol/version.py +0 -0
  82. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/queue.py +0 -0
  83. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/register.py +0 -0
  84. {dimples-1.6.1 → dimples-1.6.2}/dimples/common/session.py +0 -0
  85. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/__init__.py +0 -0
  86. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/flexible.py +0 -0
  87. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/mars.py +0 -0
  88. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/mtp.py +0 -0
  89. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/protocol/__init__.py +0 -0
  90. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/protocol/mars.py +0 -0
  91. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/protocol/ws.py +0 -0
  92. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/queue.py +0 -0
  93. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/seeker.py +0 -0
  94. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/session.py +0 -0
  95. {dimples-1.6.1 → dimples-1.6.2}/dimples/conn/ws.py +0 -0
  96. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/__init__.py +0 -0
  97. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/account.py +0 -0
  98. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/__init__.py +0 -0
  99. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/base.py +0 -0
  100. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/group.py +0 -0
  101. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/group_history.py +0 -0
  102. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/group_keys.py +0 -0
  103. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/login.py +0 -0
  104. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/meta.py +0 -0
  105. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/private.py +0 -0
  106. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/station.py +0 -0
  107. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/dos/user.py +0 -0
  108. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/message.py +0 -0
  109. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/__init__.py +0 -0
  110. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/base.py +0 -0
  111. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/document.py +0 -0
  112. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/group.py +0 -0
  113. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/grp_history.py +0 -0
  114. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/grp_keys.py +0 -0
  115. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/login.py +0 -0
  116. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/message.py +0 -0
  117. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/meta.py +0 -0
  118. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/station.py +0 -0
  119. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/redis/user.py +0 -0
  120. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/session.py +0 -0
  121. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_base.py +0 -0
  122. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_cipherkey.py +0 -0
  123. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_document.py +0 -0
  124. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_group.py +0 -0
  125. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_group_history.py +0 -0
  126. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_group_keys.py +0 -0
  127. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_login.py +0 -0
  128. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_message.py +0 -0
  129. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_meta.py +0 -0
  130. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_private.py +0 -0
  131. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_station.py +0 -0
  132. {dimples-1.6.1 → dimples-1.6.2}/dimples/database/t_user.py +0 -0
  133. {dimples-1.6.1 → dimples-1.6.2}/dimples/edge/__init__.py +0 -0
  134. {dimples-1.6.1 → dimples-1.6.2}/dimples/edge/messenger.py +0 -0
  135. {dimples-1.6.1 → dimples-1.6.2}/dimples/edge/octopus.py +0 -0
  136. {dimples-1.6.1 → dimples-1.6.2}/dimples/edge/shared.py +0 -0
  137. {dimples-1.6.1 → dimples-1.6.2}/dimples/edge/start.py +0 -0
  138. {dimples-1.6.1 → dimples-1.6.2}/dimples/emitter.py +0 -0
  139. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/__init__.py +0 -0
  140. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/admin.py +0 -0
  141. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/builder.py +0 -0
  142. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/delegate.py +0 -0
  143. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/emitter.py +0 -0
  144. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/helper.py +0 -0
  145. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/manager.py +0 -0
  146. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/packer.py +0 -0
  147. {dimples-1.6.1 → dimples-1.6.2}/dimples/group/shared.py +0 -0
  148. {dimples-1.6.1 → dimples-1.6.2}/dimples/register/__init__.py +0 -0
  149. {dimples-1.6.1 → dimples-1.6.2}/dimples/register/base.py +0 -0
  150. {dimples-1.6.1 → dimples-1.6.2}/dimples/register/ext.py +0 -0
  151. {dimples-1.6.1 → dimples-1.6.2}/dimples/register/run.py +0 -0
  152. {dimples-1.6.1 → dimples-1.6.2}/dimples/register/shared.py +0 -0
  153. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/__init__.py +0 -0
  154. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/checker.py +0 -0
  155. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/__init__.py +0 -0
  156. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/ans.py +0 -0
  157. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/creator.py +0 -0
  158. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/document.py +0 -0
  159. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/handshake.py +0 -0
  160. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/login.py +0 -0
  161. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/cpu/report.py +0 -0
  162. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/deliver.py +0 -0
  163. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/dis_roamer.py +0 -0
  164. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/dispatcher.py +0 -0
  165. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/facebook.py +0 -0
  166. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/messenger.py +0 -0
  167. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/packer.py +0 -0
  168. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/processor.py +0 -0
  169. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/push.py +0 -0
  170. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/session.py +0 -0
  171. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/session_center.py +0 -0
  172. {dimples-1.6.1 → dimples-1.6.2}/dimples/server/trace.py +0 -0
  173. {dimples-1.6.1 → dimples-1.6.2}/dimples/station/__init__.py +0 -0
  174. {dimples-1.6.1 → dimples-1.6.2}/dimples/station/handler.py +0 -0
  175. {dimples-1.6.1 → dimples-1.6.2}/dimples/station/shared.py +0 -0
  176. {dimples-1.6.1 → dimples-1.6.2}/dimples/station/start.py +0 -0
  177. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/cache.py +0 -0
  178. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/checker.py +0 -0
  179. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/config.py +0 -0
  180. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/digest.py +0 -0
  181. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/http.py +0 -0
  182. {dimples-1.6.1 → dimples-1.6.2}/dimples/utils/log.py +0 -0
  183. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/SOURCES.txt +0 -0
  184. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/dependency_links.txt +0 -0
  185. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/entry_points.txt +0 -0
  186. {dimples-1.6.1 → dimples-1.6.2}/dimples.egg-info/top_level.txt +0 -0
  187. {dimples-1.6.1 → dimples-1.6.2}/setup.cfg +0 -0
  188. {dimples-1.6.1 → dimples-1.6.2}/tests/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 1.6.1
3
+ Version: 1.6.2
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -54,9 +54,9 @@ License-File: LICENSE
54
54
  # 'dkd>=2.4.0',
55
55
  # 'mkm>=2.4.0',
56
56
 
57
- 'startrek>=2.2.2',
58
- 'tcp>=2.2.2',
59
- 'udp>=2.2.2',
57
+ 'startrek>=2.3.0',
58
+ 'tcp>=2.3.0',
59
+ 'udp>=2.3.0',
60
60
 
61
61
  'aiou>=1.1.0',
62
62
  ]
@@ -40,9 +40,9 @@
40
40
  # 'dkd>=2.4.0',
41
41
  # 'mkm>=2.4.0',
42
42
 
43
- 'startrek>=2.2.2',
44
- 'tcp>=2.2.2',
45
- 'udp>=2.2.2',
43
+ 'startrek>=2.3.0',
44
+ 'tcp>=2.3.0',
45
+ 'udp>=2.3.0',
46
46
 
47
47
  'aiou>=1.1.0',
48
48
  ]
@@ -60,6 +60,7 @@ class ClientExtensionLoader(CommonExtensionLoader):
60
60
  # Override
61
61
  def load(self):
62
62
  super().load()
63
+ self._register_customized_handlers()
63
64
 
64
65
  # noinspection PyMethodMayBeStatic
65
66
  def _register_customized_handlers(self):
@@ -31,6 +31,7 @@
31
31
  from typing import Optional, Union, Iterable, Dict
32
32
 
33
33
  from dimsdk import utf8_encode
34
+ from dimsdk import Converter
34
35
  from dimsdk import DateTime
35
36
 
36
37
  from dimsdk import VerifyKey
@@ -105,8 +106,9 @@ class DocumentUtils:
105
106
  return helper.get_document_id(document=document)
106
107
 
107
108
  @classmethod
108
- def get_document_name(cls, document: Union[Dict, Document]) -> Optional[str]:
109
- return document.get_property(name='name')
109
+ def get_document_name(cls, document: Document) -> Optional[str]:
110
+ value = document.get_property(name='name')
111
+ return Converter.get_str(value=value)
110
112
 
111
113
  @classmethod
112
114
  def is_before(cls, old_time: Optional[DateTime], this_time: Optional[DateTime]) -> bool:
@@ -28,9 +28,8 @@
28
28
  # SOFTWARE.
29
29
  # ==============================================================================
30
30
 
31
- import socket
32
31
  from abc import ABC
33
- from typing import Generic, TypeVar, Optional, Union
32
+ from typing import Generic, TypeVar, Optional
34
33
 
35
34
  from startrek.types import SocketAddress
36
35
  from startrek.net.state import StateOrder
@@ -155,12 +154,12 @@ class CommonGate(StarGate, Logging, Generic[H], ABC):
155
154
  self.debug(msg='sent %d byte(s): %s' % (len(data), connection.remote_address))
156
155
 
157
156
  # Override
158
- async def connection_failed(self, error: Union[IOError, socket.error], data: bytes, connection: Connection):
157
+ async def connection_failed(self, error: OSError, data: bytes, connection: Connection):
159
158
  await super().connection_failed(error=error, data=data, connection=connection)
160
159
  self.error(msg='failed to send %d byte(s): %s, remote=%s' % (len(data), error, connection.remote_address))
161
160
 
162
161
  # Override
163
- async def connection_error(self, error: Union[IOError, socket.error], connection: Connection):
162
+ async def connection_error(self, error: OSError, connection: Connection):
164
163
  await super().connection_error(error=error, connection=connection)
165
164
  if error is not None and str(error).startswith('failed to send: '):
166
165
  self.warning(msg='ignore socket error: %s, remote=%s' % (error, connection.remote_address))
@@ -41,11 +41,11 @@ from startrek import BaseChannel
41
41
  from startrek import Connection, ConnectionDelegate, BaseConnection
42
42
  from startrek import Arrival, Departure
43
43
  from startrek import Porter, PorterStatus, PorterDelegate
44
+ from startrek import SocketHelper
44
45
 
45
46
  from tcp import StreamChannel
46
47
  from tcp import ServerHub, ClientHub
47
48
 
48
- from ..utils import get_remote_address, get_local_address
49
49
  from ..utils import get_msg_info
50
50
  from ..utils import Runner, Log, Logging
51
51
 
@@ -66,8 +66,8 @@ class StreamServerHub(ServerHub):
66
66
 
67
67
  # Override
68
68
  def _set_channel(self, channel: Channel,
69
- remote: Optional[SocketAddress], local: Optional[SocketAddress]):
70
- super()._set_channel(channel=channel, remote=remote, local=None)
69
+ remote: Optional[SocketAddress], local: Optional[SocketAddress]) -> Optional[Channel]:
70
+ return super()._set_channel(channel=channel, remote=remote, local=None)
71
71
 
72
72
  # Override
73
73
  def _remove_channel(self, channel: Optional[Channel],
@@ -80,8 +80,8 @@ class StreamServerHub(ServerHub):
80
80
 
81
81
  # Override
82
82
  def _set_connection(self, connection: Connection,
83
- remote: SocketAddress, local: Optional[SocketAddress]):
84
- super()._set_connection(connection=connection, remote=remote, local=None)
83
+ remote: SocketAddress, local: Optional[SocketAddress]) -> Optional[Connection]:
84
+ return super()._set_connection(connection=connection, remote=remote, local=None)
85
85
 
86
86
  # Override
87
87
  def _remove_connection(self, connection: Optional[Connection],
@@ -100,8 +100,8 @@ class StreamClientHub(ClientHub):
100
100
 
101
101
  # Override
102
102
  def _set_channel(self, channel: Channel,
103
- remote: Optional[SocketAddress], local: Optional[SocketAddress]):
104
- super()._set_channel(channel=channel, remote=remote, local=None)
103
+ remote: Optional[SocketAddress], local: Optional[SocketAddress]) -> Optional[Channel]:
104
+ return super()._set_channel(channel=channel, remote=remote, local=None)
105
105
 
106
106
  # Override
107
107
  def _remove_channel(self, channel: Optional[Channel],
@@ -114,8 +114,8 @@ class StreamClientHub(ClientHub):
114
114
 
115
115
  # Override
116
116
  def _set_connection(self, connection: Connection,
117
- remote: SocketAddress, local: Optional[SocketAddress]):
118
- super()._set_connection(connection=connection, remote=remote, local=None)
117
+ remote: SocketAddress, local: Optional[SocketAddress]) -> Optional[Connection]:
118
+ return super()._set_connection(connection=connection, remote=remote, local=None)
119
119
 
120
120
  # Override
121
121
  def _remove_connection(self, connection: Optional[Connection],
@@ -189,9 +189,10 @@ class GateKeeper(Runner, PorterDelegate, Logging):
189
189
  # server
190
190
  sock.setblocking(False)
191
191
  # sock.settimeout(0.5)
192
+ helper = SocketHelper()
192
193
  if address is None:
193
- address = get_remote_address(sock=sock)
194
- channel = StreamChannel(remote=address, local=get_local_address(sock=sock))
194
+ address = helper.get_remote_address(sock=sock)
195
+ channel = StreamChannel(remote=address, local=helper.get_local_address(sock=sock))
195
196
  coro = channel.set_socket(sock=sock)
196
197
  Runner.async_task(coro=coro)
197
198
  hub = StreamServerHub(delegate=delegate)
@@ -284,11 +285,11 @@ class GateKeeper(Runner, PorterDelegate, Logging):
284
285
  pass
285
286
 
286
287
  # Override
287
- async def porter_failed(self, error: IOError, ship: Departure, porter: Porter):
288
+ async def porter_failed(self, error: OSError, ship: Departure, porter: Porter):
288
289
  self.error(msg='docker failed to send ship: %s, %s' % (error, porter))
289
290
 
290
291
  # Override
291
- async def porter_error(self, error: IOError, ship: Departure, porter: Porter):
292
+ async def porter_error(self, error: OSError, ship: Departure, porter: Porter):
292
293
  self.error(msg='docker error while sending ship: %s, %s' % (error, porter))
293
294
  if isinstance(ship, MessageWrapper):
294
295
  msg = ship.msg
@@ -90,7 +90,7 @@ def parse_document(dictionary: dict, identifier: ID = None, doc_type: str = '*')
90
90
  else:
91
91
  assert identifier == doc_id, 'document ID not match: %s, %s' % (identifier, doc_id)
92
92
  # check document type
93
- doc_ty = dictionary.get('type')
93
+ doc_ty = DocumentUtils.get_document_type(document=dictionary)
94
94
  if doc_ty is not None:
95
95
  doc_type = doc_ty
96
96
  # check document data
@@ -51,7 +51,6 @@ from dimplugins.mem import MemoryCache, ThanosCache
51
51
  from startrek.skywalker import Singleton
52
52
  from startrek.skywalker import Runnable, Runner, Daemon
53
53
  from startrek.fsm import Delegate as StateDelegate
54
- from startrek.net.socket import get_remote_address, get_local_address
55
54
 
56
55
  from aiou import Path, File, TextFile, JSONFile
57
56
 
@@ -138,8 +137,6 @@ __all__ = [
138
137
  'Runnable', 'Runner', 'Daemon',
139
138
  'StateDelegate',
140
139
 
141
- 'get_remote_address', 'get_local_address',
142
-
143
140
 
144
141
  'Singleton',
145
142
  'Log', 'Logging',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 1.6.1
3
+ Version: 1.6.2
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -54,9 +54,9 @@ License-File: LICENSE
54
54
  # 'dkd>=2.4.0',
55
55
  # 'mkm>=2.4.0',
56
56
 
57
- 'startrek>=2.2.2',
58
- 'tcp>=2.2.2',
59
- 'udp>=2.2.2',
57
+ 'startrek>=2.3.0',
58
+ 'tcp>=2.3.0',
59
+ 'udp>=2.3.0',
60
60
 
61
61
  'aiou>=1.1.0',
62
62
  ]
@@ -4,7 +4,7 @@ dimsdk==2.4.0
4
4
  dimp==2.4.0
5
5
  dkd==2.4.0
6
6
  mkm==2.4.0
7
- startrek==2.2.2
8
- tcp==2.2.2
9
- udp==2.2.2
7
+ startrek==2.3.0
8
+ tcp==2.3.0
9
+ udp==2.3.0
10
10
  aiou==1.1.0
@@ -14,7 +14,7 @@ import io
14
14
 
15
15
  from setuptools import setup, find_packages
16
16
 
17
- __version__ = '1.6.1'
17
+ __version__ = '1.6.2'
18
18
  __author__ = 'Albert Moky'
19
19
  __contact__ = 'albert.moky@gmail.com'
20
20
 
@@ -60,9 +60,9 @@ setup(
60
60
  'dkd==2.4.0',
61
61
  'mkm==2.4.0',
62
62
 
63
- 'startrek==2.2.2',
64
- 'tcp==2.2.2',
65
- 'udp==2.2.2',
63
+ 'startrek==2.3.0',
64
+ 'tcp==2.3.0',
65
+ 'udp==2.3.0',
66
66
 
67
67
  'aiou==1.1.0',
68
68
  ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes