And here are the logs, which shows that I clearly answer each message:
2023-05-15 07:54:33 - INFO: read_from_stdin:: Message { src: "c1", dest: "n2", body: Init { msg_id: 1, node_id: "n2", node_ids: ["n0", "n1", "n2", "n3", "n4"] } }
2023-05-15 07:54:33 - INFO: read_from_stdin:: Message { src: "c2", dest: "n0", body: Init { msg_id: 1, node_id: "n0", node_ids: ["n0", "n1", "n2", "n3", "n4"] } }
2023-05-15 07:54:33 - INFO: write to stdout:: "{\"src\":\"n2\",\"dest\":\"c1\",\"body\":{\"type\":\"init_ok\",\"in_reply_to\":1}}"
2023-05-15 07:54:33 - INFO: write to stdout:: "{\"src\":\"n0\",\"dest\":\"c2\",\"body\":{\"type\":\"init_ok\",\"in_reply_to\":1}}"
2023-05-15 07:54:33 - INFO: read_from_stdin:: Message { src: "c4", dest: "n3", body: Init { msg_id: 1, node_id: "n3", node_ids: ["n0", "n1", "n2", "n3", "n4"] } }
2023-05-15 07:54:33 - INFO: write to stdout:: "{\"src\":\"n3\",\"dest\":\"c4\",\"body\":{\"type\":\"init_ok\",\"in_reply_to\":1}}"
2023-05-15 07:54:33 - INFO: read_from_stdin:: Message { src: "c0", dest: "n4", body: Init { msg_id: 1, node_id: "n4", node_ids: ["n0", "n1", "n2", "n3", "n4"] } }
2023-05-15 07:54:33 - INFO: write to stdout:: "{\"src\":\"n4\",\"dest\":\"c0\",\"body\":{\"type\":\"init_ok\",\"in_reply_to\":1}}"
2023-05-15 07:54:33 - INFO: read_from_stdin:: Message { src: "c3", dest: "n1", body: Init { msg_id: 1, node_id: "n1", node_ids: ["n0", "n1", "n2", "n3", "n4"] } }
2023-05-15 07:54:33 - INFO: write to stdout:: "{\"src\":\"n1\",\"dest\":\"c3\",\"body\":{\"type\":\"init_ok\",\"in_reply_to\":1}}"