Skip to content
Snippets Groups Projects
Commit 6dd893ba authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Experiment to fix bug

parent 9191d94c
No related branches found
No related tags found
No related merge requests found
Pipeline #11325 failed
......@@ -62,7 +62,7 @@ void Master::set(const ftl::UUID &peer, const string &uri, json_t &value) {
}
vector<json_t> Master::getSlaves() {
auto response = net_->findAll<string>("slave_details");
auto response = net_->findAll<string>("node_details");
vector<json_t> result;
for (auto &r : response) {
result.push_back(json_t::parse(r));
......
......@@ -53,6 +53,10 @@ Slave::Slave(Universe *net, ftl::Configurable *root) : net_(net), in_log_(false)
net_->connect(url);
});
net->onConnect([this](ftl::net::Peer *peer) {
net_->broadcast("new_peer", peer->id());
});
loguru::add_callback("net_log", netLog, this, loguru::Verbosity_INFO);
}
......
......@@ -393,7 +393,7 @@ bool Peer::_data() {
recv_buf_.reserve_buffer(kMaxMessage);
int rc = ftl::net::internal::recv(sock_, recv_buf_.buffer(), kMaxMessage, 0);
if (rc <= 0) {
if (rc < 0) {
return false;
}
......
......@@ -41,12 +41,33 @@ app.get('/stream/depth', (req, res) => {
//app.get('/stream', (req, res))
function checkStreams(peer) {
if (!peer.master) {
peer.rpc("list_streams", (streams) => {
console.log("STREAMS", streams);
for (let i=0; i<streams.length; i++) {
//uri_to_peer[streams[i]] = peer;
peer_uris[peer.string_id].push(streams[i]);
uri_data[streams[i]] = {
peer: peer,
title: "",
rgb: null,
depth: null,
pose: null
};
}
});
}
}
app.ws('/', (ws, req) => {
console.log("New web socket request");
let p = new Peer(ws);
p.on("connect", (peer) => {
console.log("Node connected...");
peer.rpc("node_details", (details) => {
let obj = JSON.parse(details[0]);
......@@ -58,23 +79,7 @@ app.ws('/', (ws, req) => {
peer_uris[peer.string_id] = [];
peer_by_id[peer.string_id] = peer;
if (!peer.master) {
peer.rpc("list_streams", (streams) => {
console.log("STREAMS", streams);
for (let i=0; i<streams.length; i++) {
//uri_to_peer[streams[i]] = peer;
peer_uris[peer.string_id].push(streams[i]);
uri_data[streams[i]] = {
peer: peer,
title: "",
rgb: null,
depth: null,
pose: null
};
}
});
}
checkStreams(peer);
});
});
......@@ -94,14 +99,20 @@ app.ws('/', (ws, req) => {
if (peer_by_id.hasOwnProperty(peer.string_id)) delete peer_by_id[peer.string_id];
});
p.bind("new_peer", (id) => {
checkStreams(p);
});
p.bind("list_streams", () => {
return Object.keys(uri_data);
});
p.bind("find_stream", (uri) => {
if (uri_data.hasOwnProperty(uri)) {
console.log("Stream found: ", uri);
return [Peer.uuid];
} else {
console.log("Stream not found: ", uri)
return null; // or []??
}
});
......@@ -136,5 +147,5 @@ app.ws('/', (ws, req) => {
});
console.log("Listening or port 8080");
app.listen(8080);
app.listen(80);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment