Skip to content

Possible wrong examples in doc? #29

Open

Description

@acefeel

I tried hours by using the examples, not running at all. Then I find out maybe the example should call send in Discover()'s callback function. Please check.

var Discover = require('node-discover');
var d = Discover(function(){
//this will success.
var success = d.send("someChannel", { message : "oh..." });
});
//outside the callback will cause destination array is undefined inside networks.js:153
// var success = d.send("someChannel", { message : "oh..." });
//also I try to running start() @ this point, it will emit a error "address already bind", cause Discover() already called one, maybe some prevention code should be here to accept multiply start() calls?

Activity

  1. wankdanker commented on Feb 1, 2017

    @wankdanker
    Owner

    Good catch on two bugs.

    To prevent the undefined array in networks.js, we should declare self.destination = []; around line 45. https://github.com/wankdanker/node-discover/blob/master/lib/network.js#L45

    There is prevention code to prevent multiple calls to start(), but it's not enough. If you call start() two times
    sequentially it will not prevent it because running is set in the callback broadcast.start callback. So, we should track starting or something as well, or just say running=true as early as possible and set it to false if starting the network layer fails.

    https://github.com/wankdanker/node-discover/blob/master/lib/discover.js#L246

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions