diffusion
Version:
Diffusion JavaScript client
30 lines (23 loc) • 942 B
JavaScript
var ControlRegistrationParamsSerialiser = require('services/control/control-registration-params-serialiser');
var DetailType = require('../../../client/session-details').DetailType;
var BEES = require('serialisers/byte-encoded-enum-serialiser');
var Codec = require('io/codec');
function readDetailType(bis) {
return BEES.read(bis, DetailType);
}
module.exports = {
write : function(bos, params) {
ControlRegistrationParamsSerialiser.write(bos, params);
Codec.writeString(bos, params.name);
Codec.writeByte(bos, params.details.length);
for (var i = 0; i < params.details.length; ++i) {
Codec.writeByte(bos, params.details[i]);
}
},
read : function(bis) {
var params = ControlRegistrationParamsSerialiser.read(bis);
params.name = Codec.readString(bis);
params.details = Codec.readCollection(bis, readDetailType);
return params;
}
};