Skip to content

Commit

Permalink
add pson serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
icebob committed Apr 4, 2017
1 parent 863a34b commit be9971e
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 8 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
<a name="0.x.0"></a>
# 0.x.0 (2017-xx-xx)

# New

# Changes






<a name="0.6.0"></a>
# 0.6.0 (2017-03-31)

Expand Down
6 changes: 3 additions & 3 deletions benchmark/perf-runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const v8 = require('v8-natives');
let ServiceBroker = require("../src/service-broker");
let Context = require("../src/context");
let Transporters = require("../src/transporters");
let MsgPackSerializer = require("../src/serializers/msgpack");
let Serializer = require("../src/serializers/pson");

let { generateToken, json2String } = require("../src/utils");
let Promise = require("bluebird");
Expand All @@ -17,7 +17,7 @@ function createBrokers(Transporter, opts) {
requestTimeout: 0,
//logger: console,
//logLevel: "debug",
serializer: new MsgPackSerializer(),
serializer: new Serializer(),
nodeID: "node-1",

});
Expand All @@ -27,7 +27,7 @@ function createBrokers(Transporter, opts) {
//requestTimeout: 0,
//logger: console,
//logLevel: "debug",
serializer: new MsgPackSerializer(),
serializer: new Serializer(),
nodeID: "node-2"
});

Expand Down
4 changes: 2 additions & 2 deletions examples/transporter/server1.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ let { delay } = require("../../src/utils");

let ServiceBroker = require("../../src/service-broker");
let NatsTransporter = require("../../src/transporters/nats");
let MsgPackSerializer = require("../../src/serializers/msgpack");
let Serializer = require("../../src/serializers/msgpack");

// Create broker
let broker = new ServiceBroker({
Expand All @@ -13,7 +13,7 @@ let broker = new ServiceBroker({
logger: console,
logLevel: "info",
requestTimeout: 5 * 1000,
serializer: new MsgPackSerializer()
serializer: new Serializer()
//requestRetry: 3
});

Expand Down
4 changes: 2 additions & 2 deletions examples/transporter/server2.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ let { delay } = require("../../src/utils");

let ServiceBroker = require("../../src/service-broker");
let NatsTransporter = require("../../src/transporters/nats");
let MsgPackSerializer = require("../../src/serializers/msgpack");
let Serializer = require("../../src/serializers/msgpack");

// Create broker
let broker = new ServiceBroker({
nodeID: process.argv[2] || "server-2",
transporter: new NatsTransporter(),
logger: console,
logLevel: "info",
serializer: new MsgPackSerializer()
serializer: new Serializer()
});

//broker.loadService(__dirname + "/../post.service");
Expand Down
1 change: 0 additions & 1 deletion src/serializers/msgpack.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

"use strict";

const avro = require("avsc");
const BaseSerializer = require("./base");

/**
Expand Down
60 changes: 60 additions & 0 deletions src/serializers/pson.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* moleculer
* Copyright (c) 2017 Ice Services (https://github.com/ice-services/moleculer)
* MIT Licensed
*/

"use strict";

const BaseSerializer = require("./base");

const PSON = require("pson");

/**
* MessagePack serializer for Moleculer
*
* https://github.com/dcodeIO/PSON
*
* @class PsonSerializer
*/
class PsonSerializer extends BaseSerializer {

/**
* Creates an instance of PsonSerializer.
*
* @memberOf PsonSerializer
*/
constructor() {
super();

this.pson = new PSON.ProgressivePair();
}

/**
* Serializer a JS object to string or Buffer
*
* @param {Object} obj
* @returns {String|Buffer}
*
* @memberOf Serializer
*/
serialize(obj) {
const res = this.pson.encode(obj).compact();
return res;
}

/**
* Deserialize string/Buffer to JS object
*
* @param {String|Buffer} str
* @returns {Object}
*
* @memberOf Serializer
*/
deserialize(str) {
const res = this.pson.decode(str);
return res;
}
}

module.exports = PsonSerializer;

0 comments on commit be9971e

Please sign in to comment.