projects
/
pytorch.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
97f71dd
)
Update.
master
author
François Fleuret
<francois@fleuret.org>
Tue, 29 Oct 2024 08:34:41 +0000
(09:34 +0100)
committer
François Fleuret
<francois@fleuret.org>
Tue, 29 Oct 2024 08:34:41 +0000
(09:34 +0100)
distributed.py
patch
|
blob
|
history
diff --git
a/distributed.py
b/distributed.py
index
91d33ee
..
648756e
100755
(executable)
--- a/
distributed.py
+++ b/
distributed.py
@@
-2,7
+2,7
@@
import time, socket, threading, struct, pickle
import time, socket, threading, struct, pickle
-import
math, sys,
argparse
+import argparse
######################################################################
######################################################################
@@
-62,32
+62,36
@@
def start_server(port, core, reader):
s.listen(5)
nb_accepts = 0
s.listen(5)
nb_accepts = 0
- def
reader_thread(reader, link, client_nb
):
+ def
threadable_reader(reader, receiver, client_id
):
try:
while True:
try:
while True:
- reader(link.receive(), client_
nb
)
+ reader(link.receive(), client_
id
)
except EOFError:
except EOFError:
- print(f"
closing reader #{client_nb} on EOFError
")
+ print(f"
** closing reader #{client_id} on EOFError **
")
- def
core_thread(writer, client_nb
):
+ def
threadable_core(sender, client_id
):
try:
try:
- core(
writer, client_nb
)
+ core(
sender, client_id
)
except BrokenPipeError:
except BrokenPipeError:
- print(f"
closing core #{client_nb} on BrokenPipeError
")
+ print(f"
** closing core #{client_id} on BrokenPipeError **
")
while True:
client_socket, ip_and_port = s.accept()
link = SocketConnection(client_socket)
threading.Thread(
while True:
client_socket, ip_and_port = s.accept()
link = SocketConnection(client_socket)
threading.Thread(
- target=
core_thread
,
- kwargs={"
writer": link.send, "client_nb
": nb_accepts},
+ target=
threadable_core
,
+ kwargs={"
sender": link.send, "client_id
": nb_accepts},
daemon=True,
).start()
threading.Thread(
daemon=True,
).start()
threading.Thread(
- target=reader_thread,
- kwargs={"reader": reader, "link": link, "client_nb": nb_accepts},
+ target=threadable_reader,
+ kwargs={
+ "reader": reader,
+ "receiver": link.receive,
+ "client_id": nb_accepts,
+ },
daemon=True,
).start()
daemon=True,
).start()
@@
-102,7
+106,7
@@
def create_client(servername, port, reader):
server_socket.connect((servername, port))
link = SocketConnection(server_socket)
server_socket.connect((servername, port))
link = SocketConnection(server_socket)
- def
reader_thread
(reader):
+ def
threadable_reader
(reader):
while True:
reader(link.receive())
while True:
reader(link.receive())
@@
-110,7
+114,7
@@
def create_client(servername, port, reader):
link.send(x)
threading.Thread(
link.send(x)
threading.Thread(
- target=
reader_thread
, kwargs={"reader": reader}, daemon=True
+ target=
threadable_reader
, kwargs={"reader": reader}, daemon=True
).start()
return writer
).start()
return writer
@@
-121,11
+125,11
@@
def create_client(servername, port, reader):
if args.server is None:
print(f"Starting server port {args.port}")
if args.server is None:
print(f"Starting server port {args.port}")
- def reader(
x, nb
):
- print(f'Server received from client #{
nb} "{x
}"')
+ def reader(
obj, client_id
):
+ print(f'Server received from client #{
client_id} "{obj
}"')
- def core(writer, client_
nb
):
- writer(f"HELLO {client_
nb
}")
+ def core(writer, client_
id
):
+ writer(f"HELLO {client_
id
}")
while True:
writer(f"PONG {time.localtime().tm_sec}")
time.sleep(3)
while True:
writer(f"PONG {time.localtime().tm_sec}")
time.sleep(3)
@@
-135,8
+139,8
@@
if args.server is None:
else:
print(f"Starting client connecting to {args.server}:{args.port}")
else:
print(f"Starting client connecting to {args.server}:{args.port}")
- def reader(
x
):
- print(f'Client received
"{x
}"')
+ def reader(
obj
):
+ print(f'Client received
from server "{obj
}"')
writer = create_client(args.server, args.port, reader)
writer = create_client(args.server, args.port, reader)