mirror of
https://github.com/vale981/ray
synced 2025-03-12 22:26:39 -04:00
34 lines
998 B
Python
34 lines
998 B
Python
![]() |
import collections
|
||
|
import socket
|
||
|
import ctypes
|
||
|
import plasma
|
||
|
|
||
|
DEFAULT_PORT = 16121
|
||
|
|
||
|
Connection = collections.namedtuple("Connection", ["address", "port"])
|
||
|
|
||
|
# list of IP addresses and ports of managers
|
||
|
object_managers = []
|
||
|
|
||
|
def send_addresses(conn, object_managers):
|
||
|
manager = plasma.PlasmaManager(conn.address, conn.port)
|
||
|
for (manager_id, object_manager) in enumerate(object_managers):
|
||
|
manager.register(manager_id, object_manager.address, object_manager.port)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||
|
sock.bind(('', DEFAULT_PORT))
|
||
|
sock.listen(5)
|
||
|
|
||
|
while True:
|
||
|
(client, address) = sock.accept()
|
||
|
request = plasma.PlasmaRequest()
|
||
|
client.recv_into(request)
|
||
|
address = ".".join(map(str, request.addr[:]))
|
||
|
conn = Connection(address=address, port=request.port)
|
||
|
print "object manager " + str(conn) + " connected"
|
||
|
object_managers.append(conn)
|
||
|
for c in object_managers:
|
||
|
send_addresses(c, object_managers)
|
||
|
|