Session.prototype.onMsg = function (buffer, remote) {
try {
var message = new ResponseMessage (buffer);
- } catch (error) {
- this.emit("error", error);
- }
- var req = this.unregisterRequest (message.pdu.id);
- if (! req)
- return;
+ var req = this.unregisterRequest (message.pdu.id);
+ if (! req)
+ return;
- try {
- if (message.version != req.message.version) {
- req.responseCb (req, new ResponseInvalidError ("Version in request '"
- + req.message.version + "' does not match version in "
- + "response '" + message.version));
- } else if (message.community != req.message.community) {
- req.responseCb (req, new ResponseInvalidError ("Community '"
- + req.message.community + "' in request does not match "
- + "community '" + message.community + "' in response"));
- } else if (message.pdu.type == PduType.GetResponse) {
- req.onResponse (req, message);
- } else {
- req.responseCb (req, new ResponseInvalidError ("Unknown PDU type '"
- + message.pdu.type + "' in response"));
+ try {
+ if (message.version != req.message.version) {
+ req.responseCb (new ResponseInvalidError ("Version in request '"
+ + req.message.version + "' does not match version in "
+ + "response '" + message.version));
+ } else if (message.community != req.message.community) {
+ req.responseCb (new ResponseInvalidError ("Community '"
+ + req.message.community + "' in request does not match "
+ + "community '" + message.community + "' in response"));
+ } else if (message.pdu.type == PduType.GetResponse) {
+ req.onResponse (req, message);
+ } else {
+ req.responseCb (new ResponseInvalidError ("Unknown PDU type '"
+ + message.pdu.type + "' in response"));
+ }
+ } catch (error) {
+ req.responseCb (error);
}
} catch (error) {
- req.responseCb (req, error);
+ this.emit("error", error);
}
};