socket.d 2.4.10.4__tar.gz → 2.4.10.5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/PKG-INFO +1 -1
  2. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/setup.py +1 -1
  3. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/PKG-INFO +1 -1
  4. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientBase.py +3 -3
  5. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientChannel.py +7 -7
  6. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Channel.py +1 -1
  7. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/ChannelDefault.py +4 -4
  8. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/LogConfig.py +4 -2
  9. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/ProcessorDefault.py +13 -17
  10. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/server/Server.py +8 -1
  11. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TcpAioClientConnector.py +1 -1
  12. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/WsAioClientConnector.py +1 -1
  13. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/impl/AIOWebSocketClientImpl.py +2 -1
  14. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/README.md +0 -0
  15. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/setup.cfg +0 -0
  16. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/SOURCES.txt +0 -0
  17. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/dependency_links.txt +0 -0
  18. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/requires.txt +0 -0
  19. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/top_level.txt +0 -0
  20. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socket.d.egg-info/zip-safe +0 -0
  21. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/SocketD.py +0 -0
  22. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/__init__.py +0 -0
  23. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/broker/BrokerFragmentHandler.py +0 -0
  24. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/broker/BrokerListener.py +0 -0
  25. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/broker/BrokerListenerBase.py +0 -0
  26. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/broker/__init__.py +0 -0
  27. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/cluster/ClusterClient.py +0 -0
  28. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/cluster/ClusterClientSession.py +0 -0
  29. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/cluster/LoadBalancer.py +0 -0
  30. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/cluster/__init__.py +0 -0
  31. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/exception/SocketDExecption.py +0 -0
  32. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/exception/__init__.py +0 -0
  33. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/__init__.py +0 -0
  34. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/Client.py +0 -0
  35. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientConfig.py +0 -0
  36. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientConfigHandler.py +0 -0
  37. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientConnectHandler.py +0 -0
  38. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientConnector.py +0 -0
  39. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientConnectorBase.py +0 -0
  40. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientHandshakeResult.py +0 -0
  41. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientHeartbeatHandler.py +0 -0
  42. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientProvider.py +0 -0
  43. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/ClientSession.py +0 -0
  44. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/client/__init__.py +0 -0
  45. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Asserts.py +0 -0
  46. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/ChannelAssistant.py +0 -0
  47. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/ChannelInternal.py +0 -0
  48. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/ChannelSupporter.py +0 -0
  49. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Codec.py +0 -0
  50. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Config.py +0 -0
  51. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Costants.py +0 -0
  52. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Entity.py +0 -0
  53. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/EntityMetas.py +0 -0
  54. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Flags.py +0 -0
  55. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/FragmentAggregator.py +0 -0
  56. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/FragmentHandler.py +0 -0
  57. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Frame.py +0 -0
  58. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Frames.py +0 -0
  59. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/HandshakeDefault.py +0 -0
  60. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/IdGenerator.py +0 -0
  61. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Listener.py +0 -0
  62. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Message.py +0 -0
  63. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Processor.py +0 -0
  64. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/Session.py +0 -0
  65. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/__init__.py +0 -0
  66. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/codec/Buffer.py +0 -0
  67. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/codec/ByteBufferCodecReader.py +0 -0
  68. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/codec/ByteBufferCodecWriter.py +0 -0
  69. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/codec/CodecDefault.py +0 -0
  70. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/codec/__init__.py +0 -0
  71. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/EntityDefault.py +0 -0
  72. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/FileEntity.py +0 -0
  73. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/MessageBuilder.py +0 -0
  74. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/MessageDefault.py +0 -0
  75. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/StringEntity.py +0 -0
  76. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/entity/__init__.py +0 -0
  77. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/fragment/FragmentAggregatorDefault.py +0 -0
  78. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/fragment/FragmentHandlerBase.py +0 -0
  79. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/fragment/FragmentHandlerDefault.py +0 -0
  80. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/fragment/FragmentHolder.py +0 -0
  81. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/fragment/__init__.py +0 -0
  82. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/ChannelBase.py +0 -0
  83. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/ConfigBase.py +0 -0
  84. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/SessionBase.py +0 -0
  85. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/SessionDefault.py +0 -0
  86. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/impl/__init__.py +0 -0
  87. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/EventListener.py +0 -0
  88. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/PathListener.py +0 -0
  89. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/PathMapper.py +0 -0
  90. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/PipelineListener.py +0 -0
  91. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/SimpleListener.py +0 -0
  92. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/core/listener/__init__.py +0 -0
  93. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/server/ServerBase.py +0 -0
  94. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/server/ServerConfig.py +0 -0
  95. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/server/ServerProvider.py +0 -0
  96. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/server/__init__.py +0 -0
  97. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/RequestStream.py +0 -0
  98. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/SendStream.py +0 -0
  99. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/Stream.py +0 -0
  100. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/StreamBase.py +0 -0
  101. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/StreamManger.py +0 -0
  102. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/StreamMangerDefault.py +0 -0
  103. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/SubscribeStream.py +0 -0
  104. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/stream/__init__.py +0 -0
  105. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/AsyncUtil.py +0 -0
  106. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/CompletableFuture.py +0 -0
  107. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/StrUtil.py +0 -0
  108. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/__init__.py +0 -0
  109. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/async_api/AtomicRefer.py +0 -0
  110. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/async_api/__init__.py +0 -0
  111. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/sync_api/AtomicRefer.py +0 -0
  112. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd/transport/utils/sync_api/__init__.py +0 -0
  113. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TCPAIOServer.py +0 -0
  114. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TCPStreamIO.py +0 -0
  115. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TcpAIOChannelAssistant.py +0 -0
  116. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TcpAioClient.py +0 -0
  117. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/TcpAioProvider.py +0 -0
  118. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_aio_tcp/__init__.py +0 -0
  119. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/WsAioChannelAssistant.py +0 -0
  120. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/WsAioClient.py +0 -0
  121. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/WsAioProvider.py +0 -0
  122. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/WsAioServer.py +0 -0
  123. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/__init__.py +0 -0
  124. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/impl/AIOConnect.py +0 -0
  125. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/impl/AIOServe.py +0 -0
  126. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/impl/AIOWebSocketServerImpl.py +0 -0
  127. {socket.d-2.4.10.4 → socket.d-2.4.10.5}/socketd_websocket/impl/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: socket.d
3
- Version: 2.4.10.4
3
+ Version: 2.4.10.5
4
4
  Summary: @noear/socket.d python project
5
5
  Home-page: https://socketd.noear.org/
6
6
  Author: noear,bai
@@ -4,7 +4,7 @@ from setuptools import setup,find_packages
4
4
 
5
5
  setup(
6
6
  name='socket.d',
7
- version='2.4.10.4',
7
+ version='2.4.10.5',
8
8
  description='@noear/socket.d python project',
9
9
  author='noear,bai',
10
10
  url='https://socketd.noear.org/',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: socket.d
3
- Version: 2.4.10.4
3
+ Version: 2.4.10.5
4
4
  Summary: @noear/socket.d python project
5
5
  Home-page: https://socketd.noear.org/
6
6
  Author: noear,bai
@@ -11,10 +11,10 @@ from socketd.transport.core.ChannelAssistant import ChannelAssistant
11
11
  from socketd.transport.core.Costants import Constants
12
12
  from socketd.transport.core.Session import Session
13
13
  from socketd.transport.client.ClientHeartbeatHandler import ClientHeartbeatHandler
14
+ from socketd.transport.core.impl.LogConfig import log
14
15
  from socketd.transport.core.impl.ProcessorDefault import ProcessorDefault
15
16
  from socketd.transport.client.ClientConfig import ClientConfig
16
17
 
17
- from loguru import logger
18
18
 
19
19
 
20
20
  class ClientBase(ClientInternal, ABC):
@@ -76,13 +76,13 @@ class ClientBase(ClientInternal, ABC):
76
76
 
77
77
  try:
78
78
  await clientChannel.connect()
79
- logger.info(f"Socket.D client successfully connected: link={self.get_config().get_link_url()}")
79
+ log.info(f"Socket.D client successfully connected: link={self.get_config().get_link_url()}")
80
80
  except Exception as e:
81
81
  if isThrow:
82
82
  await clientChannel.close(code=Constants.CLOSE2008_OPEN_FAIL)
83
83
  raise SocketDException(f"Socket.D client Connection failed {e}")
84
84
  else:
85
- logger.info(f"Socket.D client Connection failed: link={self.get_config().get_link_url()}")
85
+ log.info(f"Socket.D client Connection failed: link={self.get_config().get_link_url()}")
86
86
 
87
87
  return clientChannel.get_session()
88
88
 
@@ -6,11 +6,11 @@ from socketd.transport.client.Client import ClientInternal
6
6
  from socketd.transport.core.Asserts import Asserts
7
7
  from socketd.transport.core.ChannelInternal import ChannelInternal
8
8
  from socketd.transport.core.Costants import Constants
9
+ from socketd.transport.core.impl.LogConfig import log
9
10
  from socketd.transport.core.impl.SessionDefault import SessionDefault
10
11
  from socketd.transport.stream.StreamManger import StreamInternal
11
12
  from socketd.transport.core.impl.ChannelBase import ChannelBase
12
13
  from socketd.transport.client.ClientConnector import ClientConnector
13
- from loguru import logger
14
14
 
15
15
  from socketd.transport.client.ClientHeartbeatHandler import ClientHeartbeatHandlerDefault
16
16
  from socketd.transport.utils.sync_api.AtomicRefer import AtomicRefer
@@ -40,7 +40,7 @@ class ClientChannel(ChannelBase):
40
40
  if not self.__heartbeatScheduledFuture.done():
41
41
  self.__heartbeatScheduledFuture.cancel()
42
42
  except Exception as e:
43
- logger.warning(e)
43
+ log.warning(e)
44
44
 
45
45
  async def __heartbeatScheduled(self) -> None:
46
46
  while True:
@@ -60,7 +60,7 @@ class ClientChannel(ChannelBase):
60
60
  return
61
61
 
62
62
  if Asserts.is_closed_and_end(self.__real):
63
- logger.debug("Client channel is closed (pause heartbeat), sessionId=" + self.get_session().session_id())
63
+ log.debug("Client channel is closed (pause heartbeat), sessionId=" + self.get_session().session_id())
64
64
  await self.close(self.__real.is_closed())
65
65
  return
66
66
 
@@ -136,7 +136,7 @@ class ClientChannel(ChannelBase):
136
136
  if self.__real:
137
137
  await self.__real.close(code)
138
138
  except Exception as e:
139
- logger.error(e)
139
+ log.error(e)
140
140
  finally:
141
141
  await super().close(code)
142
142
 
@@ -150,7 +150,7 @@ class ClientChannel(ChannelBase):
150
150
  self.init_heartbeat()
151
151
  await self.internalCheck()
152
152
 
153
- @logger.catch
153
+ @log.catch
154
154
  async def connect(self):
155
155
  with self.__isConnecting as isConnected:
156
156
  if isConnected:
@@ -166,9 +166,9 @@ class ClientChannel(ChannelBase):
166
166
  self.__real.set_session(self.__sessionShell)
167
167
  self.set_handshake(self.__real.get_handshake())
168
168
  except TimeoutError as t:
169
- logger.error(f"socketD connect timed out: {t}")
169
+ log.error(f"socketD connect timed out: {t}")
170
170
  except Exception as e:
171
- logger.error(e)
171
+ log.error(e)
172
172
  raise SocketDChannelException(f"socketD connect")
173
173
  finally:
174
174
  self.__isConnecting.set(False)
@@ -87,7 +87,7 @@ class Channel(ABC):
87
87
  ...
88
88
 
89
89
  @abstractmethod
90
- def retrieve(self, frame: Frame, stream: StreamInternal) -> None:
90
+ async def retrieve(self, frame: Frame, stream: StreamInternal) -> None:
91
91
  ...
92
92
 
93
93
  @abstractmethod
@@ -106,7 +106,7 @@ class ChannelDefault(ChannelBase, ChannelInternal):
106
106
  if stream is not None:
107
107
  stream.on_progress(True, 1, 1)
108
108
 
109
- def retrieve(self, frame: Frame, stream: StreamInternal) -> None:
109
+ async def retrieve(self, frame: Frame, stream: StreamInternal) -> None:
110
110
  """接收(接收答复帧)"""
111
111
  if stream is not None:
112
112
  if stream.demands() < Constants.DEMANDS_MULTIPLE or frame.flag() == Flags.ReplyEnd:
@@ -115,11 +115,11 @@ class ChannelDefault(ChannelBase, ChannelInternal):
115
115
 
116
116
  if stream.demands() < Constants.DEMANDS_MULTIPLE:
117
117
  # 单收时,内部已经是异步机制
118
- stream.on_reply(frame.message())
118
+ await stream.on_reply(frame.message())
119
119
  else:
120
- #stream.on_reply(frame.message())
121
120
  # 改为异步处理,避免卡死Io线程
122
- asyncio.get_running_loop().run_in_executor(self.get_config().get_exchange_executor(), lambda _m: asyncio.run(stream.on_reply(_m)), frame.message())
121
+ asyncio.get_running_loop().run_in_executor(self.get_config().get_exchange_executor(),
122
+ lambda _m: asyncio.run(stream.on_reply(_m)), frame.message())
123
123
  else:
124
124
  log.debug(
125
125
  f"{self.get_config().get_role_name()} stream not found, sid={frame.message().sid()}, sessionId={self.get_session().session_id()}")
@@ -2,10 +2,12 @@
2
2
  from loguru import logger as _logger
3
3
 
4
4
  import logging
5
+
5
6
  # socket.d 默认
6
7
  logger = logging.getLogger("socketD")
7
8
  # 异步默认日志
8
9
  logging.getLogger("asyncio").setLevel(logging.WARNING)
9
10
  # 少用默认logging ,因为他会阻塞你的线程
10
-
11
- log = _logger.opt()
11
+ # 删除原本的处理器
12
+ _logger.remove()
13
+ log = _logger.opt(colors=True)
@@ -1,8 +1,6 @@
1
1
  import asyncio
2
2
  from abc import ABC
3
- from typing import Optional, Union
4
-
5
- from loguru import logger
3
+ from typing import Optional
6
4
 
7
5
  from socketd.exception.SocketDExecption import SocketDAlarmException, SocketDConnectionException
8
6
  from socketd.transport.core.ChannelInternal import ChannelInternal
@@ -13,17 +11,15 @@ from socketd.transport.core.Costants import Constants
13
11
  from socketd.transport.core.Flags import Flags
14
12
  from socketd.transport.core.EntityMetas import EntityMetas
15
13
  from socketd.transport.core.Frame import Frame
14
+ from socketd.transport.core.impl.LogConfig import log
16
15
  from socketd.transport.core.listener.SimpleListener import SimpleListener
17
- from socketd.transport.stream.Stream import Stream
18
16
  from socketd.transport.stream.StreamManger import StreamInternal
19
- from socketd.transport.utils.AsyncUtil import AsyncUtil
20
17
 
21
18
 
22
19
  class ProcessorDefault(Processor, ABC):
23
20
 
24
21
  def __init__(self):
25
22
  self.listener = SimpleListener()
26
- self.log = logger.opt()
27
23
 
28
24
  def set_listener(self, listener):
29
25
  if listener is not None:
@@ -31,9 +27,9 @@ class ProcessorDefault(Processor, ABC):
31
27
 
32
28
  async def on_receive(self, channel: ChannelInternal, frame):
33
29
  if channel.get_config().client_mode():
34
- logger.debug(f"C-REV:{frame}")
30
+ log.debug(f"C-REV:{frame}")
35
31
  else:
36
- logger.debug(f"S-REV:{frame}")
32
+ log.debug(f"S-REV:{frame}")
37
33
 
38
34
  if frame.flag() == Flags.Connect:
39
35
  # if server
@@ -42,7 +38,7 @@ class ProcessorDefault(Processor, ABC):
42
38
 
43
39
  async def _future(r: bool, e: Exception):
44
40
  if r:
45
- #如果无异常
41
+ # 如果无异常
46
42
  if channel.is_valid():
47
43
  try:
48
44
  await channel.send_connack(connectMessage)
@@ -67,7 +63,8 @@ class ProcessorDefault(Processor, ABC):
67
63
  if frame.flag() == Flags.Close:
68
64
  raise SocketDConnectionException("Connection request was rejected")
69
65
 
70
- self.log.warning("{} channel handshake is None, sessionId={}", channel.get_config().get_role_name(), channel.get_session().session_id())
66
+ log.warning("{} channel handshake is None, sessionId={}", channel.get_config().get_role_name(),
67
+ channel.get_session().session_id())
71
68
  return
72
69
 
73
70
  # 更新最后活动时间
@@ -79,9 +76,9 @@ class ProcessorDefault(Processor, ABC):
79
76
  elif frame.flag() == Flags.Pong:
80
77
  pass
81
78
  elif frame.flag() == Flags.Close:
82
- code:int = 0
79
+ code: int = 0
83
80
 
84
- if frame.message() is not None:
81
+ if frame.message() is not None:
85
82
  code = frame.message().meta_as_int("code")
86
83
 
87
84
  if code == 0:
@@ -141,7 +138,7 @@ class ProcessorDefault(Processor, ABC):
141
138
  if isReply:
142
139
  if stream:
143
140
  stream.on_progress(False, streamIndex, streamTotal)
144
- channel.retrieve(frame, stream)
141
+ await channel.retrieve(frame, stream)
145
142
  else:
146
143
  self.on_message(channel, frame.message())
147
144
 
@@ -153,7 +150,7 @@ class ProcessorDefault(Processor, ABC):
153
150
  await self.listener.on_open(channel.get_session())
154
151
  channel.do_open_future(True, None)
155
152
  except Exception as e:
156
- logger.warning("{} channel listener onOpen error", channel.get_config().get_role_name(), e)
153
+ log.warning("{} channel listener onOpen error", channel.get_config().get_role_name(), e)
157
154
  channel.do_open_future(False, e)
158
155
 
159
156
  def on_message(self, channel: ChannelInternal, message: Message):
@@ -163,12 +160,12 @@ class ProcessorDefault(Processor, ABC):
163
160
  try:
164
161
  await self.listener.on_message(channel.get_session(), message)
165
162
  except Exception as e:
166
- logger.warning("{} channel listener onMessage error", channel.get_config().get_role_name(), e)
163
+ log.warning("{} channel listener onMessage error", channel.get_config().get_role_name(), e)
167
164
  self.on_error(channel, e)
168
165
 
169
166
  def on_close(self, channel: ChannelInternal):
170
167
  if channel.is_closed() <= Constants.CLOSE1000_PROTOCOL_CLOSE_STARTING:
171
- self.on_close_internal(channel, Constants.CLOSE2003_DISCONNECTION)
168
+ asyncio.create_task(self.on_close_internal(channel, Constants.CLOSE2003_DISCONNECTION))
172
169
 
173
170
  async def on_close_internal(self, channel: ChannelInternal, code: int):
174
171
  await channel.close(code)
@@ -178,4 +175,3 @@ class ProcessorDefault(Processor, ABC):
178
175
 
179
176
  def on_error(self, channel: ChannelInternal, error):
180
177
  self.listener.on_error(channel.get_session(), error)
181
-
@@ -7,18 +7,25 @@ from websockets.sync.server import WebSocketServer
7
7
  from socketd.transport.server.ServerConfig import ServerConfig
8
8
  from socketd.transport.core.Listener import Listener
9
9
 
10
-
10
+ #服务端接口
11
11
  class Server:
12
+ #获取台头
12
13
  def get_title(self): ...
13
14
 
15
+ #获取配置
14
16
  def get_config(self) -> ServerConfig: ...
15
17
 
18
+ #配置
16
19
  def config(self, consumer: Callable[[ServerConfig], None]) -> Server: ...
17
20
 
21
+ #监听
18
22
  def listen(self, listener: Listener) -> Server: ...
19
23
 
24
+ #启动
20
25
  def start(self) -> WebSocketServer | Coroutine: ...
21
26
 
27
+ #预停止
22
28
  def prestop(self) -> Coroutine: ...
23
29
 
30
+ #停止
24
31
  def stop(self) -> Coroutine: ...
@@ -36,7 +36,7 @@ class TcpAioClientConnector(ClientConnectorBase):
36
36
  async def connect(self):
37
37
  # 处理自定义架构的影响
38
38
  loop = asyncio.get_running_loop()
39
- tcp_url = self.client.get_config().get_url().replace("std:", "").replace("-python", "")
39
+ tcp_url = self.client.get_config().get_url().replace("-python", "")
40
40
  _sch, _host, _port = tcp_url.replace("//", "").split(":")
41
41
  _port = int(_port.split("/")[0])
42
42
  if self.__top is None:
@@ -25,7 +25,7 @@ class WsAioClientConnector(ClientConnectorBase):
25
25
 
26
26
  async def connect(self) -> Channel:
27
27
  # 关闭之前的资源
28
- self.close()
28
+ await self.close()
29
29
 
30
30
  # 处理自定义架构的影响
31
31
  ws_url = self.client.get_config().get_url().replace("-python://", "://")
@@ -128,7 +128,8 @@ class AIOWebSocketClientImpl(WebSocketClientProtocol):
128
128
  async def on_close(self):
129
129
  await self.client.get_processor().on_close(self.channel)
130
130
  if self.handshake_future is not None:
131
- await asyncio.wait(self.__on_receive_tasks, timeout=10)
131
+ if self.__on_receive_tasks:
132
+ await asyncio.wait(self.__on_receive_tasks, timeout=10)
132
133
  await asyncio.wait([self._handler_future], timeout=10)
133
134
 
134
135
  def on_error(self, e):
File without changes
File without changes