Added support for shutting down server and bonjour service / onError callback #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes:
destroy
function to printer to shutdown the server, unmap port and bonjour service.onerror
callback to the printer to catch initialization problems.Referencing issue #17, I have made these changes, which enable the user to disable the printer without exiting the node process/closing the application. This is useful for an implementation where it's needed to make changes to the printer settings on "runtime".
Initializing a new printer without these changes would result in two possible exceptions, either the
EADDRINUSE
exception from node when the port/ip was already occupied. or a Bonjour exception stating that the "service name"(printer.name)
was already taken.These exceptions could not be caught by wrapping the printer setup code in a
try...catch
block. So I added anon('error')
callback to the server, which isn't perfect at this point because it doesn't catch the bonjour/zeroconf errors, but it does the basic job.P.S: I know these changes might not be readily mergeable, especially because of the use of a new dependency for adding support for destroying the server (This is something that would be easy to add without it). And for extending the printer object in
bind.js
.Anyways, I look forward to reading your comments!