Skip to content

Commit

Permalink
Add UDP (datagram) service
Browse files Browse the repository at this point in the history
  • Loading branch information
brandonhamilton committed Feb 29, 2012
1 parent fc51700 commit 0268b4c
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions api.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ var http = require('http');
var https = require('https');
var net = require('net');
var fs = require('fs');
var dgram = require('dgram');
var Buffer = require('buffer').Buffer;
var logger = require('util');
var _ = require('underscore')._;
var settings = require('./settings').create();
Expand Down Expand Up @@ -198,6 +200,31 @@ var commands = {
controller.emit(service.status, service);
});
},
udp : function(serviceDefinition, service) {
var sock = dgram.createSocket("udp4");
sock.on("message", function (buffer, from) {
if (!serviceDefinition.rcv || serviceDefinition.rcv == buffer) {
service.status = "up";
service.statusCode = 0;
service.message = "";
} else {
service.status = "critical";
service.statusCode = 0;
service.message = "Expected " + serviceDefinition.rcv + " but was '" + buffer;
}
sock.close();
controller.emit(service.status, service);
});
sock.on("error", function (exception) {
service.status = "down";
service.statusCode = 0;
service.message = exception;
controller.emit(service.status, service);
sock.close();
});
var buf = new Buffer(serviceDefinition.cmd);
sock.send(buf, 0, buf.length, serviceDefinition.port, serviceDefinition.host);
},
ftp : function(serviceDefinition, service) {
service.status = "unknown";
service.statusCode = 0;
Expand Down

0 comments on commit 0268b4c

Please sign in to comment.