socket.d 2.4.14.4__tar.gz → 2.4.15__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {socket.d-2.4.14.4 → socket.d-2.4.15}/PKG-INFO +1 -1
- {socket.d-2.4.14.4 → socket.d-2.4.15}/setup.py +1 -1
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/PKG-INFO +1 -1
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/SocketD.py +20 -16
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/cluster/ClusterClientSession.py +2 -2
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientSession.py +2 -2
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/SessionDefault.py +15 -7
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/impl/StreamBase.py +8 -7
- {socket.d-2.4.14.4 → socket.d-2.4.15}/README.md +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/setup.cfg +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/SOURCES.txt +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/dependency_links.txt +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/requires.txt +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/top_level.txt +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socket.d.egg-info/zip-safe +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/broker/BrokerFragmentHandler.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/broker/BrokerListener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/broker/BrokerListenerBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/broker/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/cluster/ClusterClient.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/cluster/LoadBalancer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/cluster/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/exception/SocketDExecption.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/exception/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/Client.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientChannel.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientConfig.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientConfigHandler.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientConnectHandler.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientConnector.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientConnectorBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientHandshakeResult.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientHeartbeatHandler.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/ClientProvider.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/client/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Asserts.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Channel.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/ChannelAssistant.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/ChannelInternal.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/ChannelSupporter.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Codec.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Config.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Costants.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Entity.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/EntityMetas.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Flags.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/FragmentAggregator.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/FragmentHandler.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Frame.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Frames.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/HandshakeDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/IdGenerator.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Listener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Message.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Processor.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/Session.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/codec/Buffer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/codec/ByteBufferCodecReader.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/codec/ByteBufferCodecWriter.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/codec/CodecDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/codec/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/EntityDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/FileEntity.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/MessageBuilder.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/MessageDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/StringEntity.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/entity/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentAggregatorDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentHandlerBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentHandlerDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentHolder.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/ChannelBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/ChannelDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/ConfigBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/ProcessorDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/SessionBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/impl/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/EventListener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/PathListener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/PipelineListener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/RouteSelector.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/RouteSelectorDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/SimpleListener.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/server/Server.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/server/ServerBase.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/server/ServerConfig.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/server/ServerProvider.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/server/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/RequestStream.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/SendStream.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/Stream.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/StreamManger.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/StreamMangerDefault.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/SubscribeStream.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/impl/RequestStreamImpl.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/impl/SendStreamImpl.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/impl/SubscribeStreamImpl.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/stream/impl/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/AsyncUtils.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/CompletableFuture.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/LogConfig.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/MapUtils.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/RunUtils.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/StrUtils.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/async_api/AtomicRefer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/async_api/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/sync_api/AtomicRefer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/utils/sync_api/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TCPAIOServer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TCPStreamIO.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TcpAIOChannelAssistant.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TcpAioClient.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TcpAioClientConnector.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/TcpAioProvider.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_aio_tcp/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/WsAioChannelAssistant.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/WsAioClient.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/WsAioClientConnector.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/WsAioProvider.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/WsAioServer.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/__init__.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/impl/AIOConnect.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/impl/AIOServe.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/impl/AIOWebSocketClientImpl.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/impl/AIOWebSocketServerImpl.py +0 -0
- {socket.d-2.4.14.4 → socket.d-2.4.15}/socketd_websocket/impl/__init__.py +0 -0
@@ -14,20 +14,23 @@ from socketd_aio_tcp.TcpAioProvider import TcpAioProvider
|
|
14
14
|
|
15
15
|
|
16
16
|
def version() -> str:
|
17
|
-
return "2.4.
|
17
|
+
return "2.4.15"
|
18
18
|
|
19
19
|
|
20
20
|
def protocol_version() -> str:
|
21
21
|
return "1.0"
|
22
22
|
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
__client_provider_map: Dict[str, ClientProvider] = {}
|
25
|
+
__server_provider_map: Dict[str, ServerProvider] = {}
|
26
26
|
|
27
|
-
def
|
28
|
-
for
|
29
|
-
|
30
|
-
|
27
|
+
def register_client_provider(clientProvider: ClientProvider):
|
28
|
+
for s in clientProvider.schema():
|
29
|
+
__client_provider_map[s] = clientProvider
|
30
|
+
|
31
|
+
def register_server_provider(serverProvider: ServerProvider):
|
32
|
+
for s in serverProvider.schema():
|
33
|
+
__server_provider_map[s] = serverProvider
|
31
34
|
|
32
35
|
def create_server(schemaOrConfig: str | ServerConfig) -> Server:
|
33
36
|
Asserts.assert_null("schemaOrConfig", schemaOrConfig)
|
@@ -46,12 +49,12 @@ def create_server(schemaOrConfig: str | ServerConfig) -> Server:
|
|
46
49
|
return server
|
47
50
|
|
48
51
|
def create_server_or_null(config: ServerConfig) -> Server:
|
49
|
-
|
52
|
+
provider = __server_provider_map.get(config.get_schema())
|
50
53
|
|
51
|
-
if
|
54
|
+
if provider is None:
|
52
55
|
return None
|
53
56
|
else:
|
54
|
-
return
|
57
|
+
return provider.create_server(config)
|
55
58
|
|
56
59
|
|
57
60
|
def create_client(urlOrConfig: str | ClientConfig) -> Client:
|
@@ -73,17 +76,18 @@ def create_client(urlOrConfig: str | ClientConfig) -> Client:
|
|
73
76
|
def create_client_or_null(config: ClientConfig) -> Client | None:
|
74
77
|
Asserts.assert_null("config", config)
|
75
78
|
|
76
|
-
|
77
|
-
if
|
79
|
+
provider = __client_provider_map.get(config.get_schema())
|
80
|
+
if provider is None:
|
78
81
|
return None
|
79
82
|
else:
|
80
|
-
return
|
83
|
+
return provider.create_client(config)
|
81
84
|
|
82
85
|
|
83
86
|
def create_cluster_client(*urls) -> Client:
|
84
87
|
return ClusterClient(urls)
|
85
88
|
|
86
89
|
|
87
|
-
# Initialize the client and server
|
88
|
-
|
89
|
-
|
90
|
+
# Initialize the client and server provider maps
|
91
|
+
for p in [WsAioProvider(), TcpAioProvider()]:
|
92
|
+
register_client_provider(p)
|
93
|
+
register_server_provider(p)
|
@@ -50,12 +50,12 @@ class ClusterClientSession(ClientSession):
|
|
50
50
|
|
51
51
|
return sender.send(event, content)
|
52
52
|
|
53
|
-
def send_and_request(self, event: str, content: Entity, timeout:
|
53
|
+
def send_and_request(self, event: str, content: Entity, timeout: float = 0) -> RequestStream:
|
54
54
|
sender = self.get_session_any(None)
|
55
55
|
|
56
56
|
return sender.send_and_request(event, content, timeout)
|
57
57
|
|
58
|
-
def send_and_subscribe(self, event: str, content: Entity, timeout:
|
58
|
+
def send_and_subscribe(self, event: str, content: Entity, timeout: float = 0) -> SubscribeStream:
|
59
59
|
sender = self.get_session_any(None)
|
60
60
|
|
61
61
|
return sender.send_and_subscribe(event, content, timeout)
|
@@ -25,11 +25,11 @@ class ClientSession:
|
|
25
25
|
...
|
26
26
|
|
27
27
|
@abc.abstractmethod
|
28
|
-
def send_and_request(self, event: str, content: Entity, timeout:
|
28
|
+
def send_and_request(self, event: str, content: Entity, timeout: float = 0) -> RequestStream:
|
29
29
|
...
|
30
30
|
|
31
31
|
@abc.abstractmethod
|
32
|
-
def send_and_subscribe(self, event: str, content: Entity, timeout:
|
32
|
+
def send_and_subscribe(self, event: str, content: Entity, timeout: float = 0) -> SubscribeStream:
|
33
33
|
...
|
34
34
|
|
35
35
|
@abc.abstractmethod
|
@@ -53,20 +53,28 @@ class SessionDefault(SessionBase):
|
|
53
53
|
RunUtils.taskTry(self._channel.send(Frame(Flags.Message, message), stream))
|
54
54
|
return stream
|
55
55
|
|
56
|
-
def send_and_request(self, event: str, content: Entity,
|
57
|
-
timeout: int|None = 100) -> RequestStream:
|
58
|
-
|
56
|
+
def send_and_request(self, event: str, content: Entity, timeout: float|None = 0) -> RequestStream:
|
59
57
|
if timeout is None:
|
60
|
-
timeout =
|
58
|
+
timeout = 0
|
59
|
+
|
60
|
+
if timeout < 0:
|
61
|
+
timeout = self._channel.get_config().get_stream_timeout()
|
62
|
+
|
63
|
+
if timeout == 0:
|
64
|
+
timeout = self._channel.get_config().get_request_timeout()
|
61
65
|
|
62
|
-
if timeout < 100:
|
63
|
-
timeout = self._channel.get_config().get_request_timeout() / 1000
|
64
66
|
message = MessageBuilder().sid(self.generate_id()).event(event).entity(content).build()
|
65
67
|
stream:RequestStream = RequestStreamImpl(message.sid(), timeout)
|
66
68
|
RunUtils.taskTry(self._channel.send(Frame(Flags.Request, message), stream))
|
67
69
|
return stream
|
68
70
|
|
69
|
-
def send_and_subscribe(self, event: str, content: Entity, timeout:
|
71
|
+
def send_and_subscribe(self, event: str, content: Entity, timeout: float = 0):
|
72
|
+
if timeout is None:
|
73
|
+
timeout = 0
|
74
|
+
|
75
|
+
if timeout <= 0:
|
76
|
+
timeout = self._channel.get_config().get_stream_timeout()
|
77
|
+
|
70
78
|
message = MessageBuilder().sid(self.generate_id()).event(event).entity(content).build()
|
71
79
|
stream:SubscribeStream = SubscribeStreamImpl(message.sid(), timeout)
|
72
80
|
RunUtils.taskTry(self._channel.send(Frame(Flags.Subscribe, message), stream))
|
@@ -11,12 +11,13 @@ from socketd.utils.RunUtils import RunUtils
|
|
11
11
|
|
12
12
|
|
13
13
|
class StreamBase(StreamInternal, ABC):
|
14
|
-
"""流接收器基类
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
self.
|
19
|
-
self.
|
14
|
+
"""流接收器基类
|
15
|
+
:param timeout: 超时(毫秒)
|
16
|
+
"""
|
17
|
+
def __init__(self, sid: str, demands: int, timeout: float):
|
18
|
+
self.__sid:str = sid
|
19
|
+
self.__timeout:float = timeout
|
20
|
+
self.__demands:int = demands
|
20
21
|
|
21
22
|
self.__doOnError: Callable[[Exception], None] = None
|
22
23
|
self.__doOnProgress: Callable[[bool, int, int], None] = None
|
@@ -38,7 +39,7 @@ class StreamBase(StreamInternal, ABC):
|
|
38
39
|
def demands(self) -> int:
|
39
40
|
return self.__demands
|
40
41
|
|
41
|
-
def timeout(self):
|
42
|
+
def timeout(self) ->float:
|
42
43
|
return self.__timeout
|
43
44
|
|
44
45
|
# 保险开始(避免永久没有回调,造成内存不能释放)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentAggregatorDefault.py
RENAMED
File without changes
|
{socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentHandlerBase.py
RENAMED
File without changes
|
{socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/fragment/FragmentHandlerDefault.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{socket.d-2.4.14.4 → socket.d-2.4.15}/socketd/transport/core/listener/RouteSelectorDefault.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|