UNPKG

diffusion

Version:

Diffusion JavaScript client

31 lines (28 loc) 1.08 kB
var Codec = require('io/codec'); var UpdateStreamId = require('./update-stream-id'); var serialiser = { read : function(input) { var topicId = Codec.readInt32(input); var instanceId = Codec.readInt32(input); var partitionId = Codec.readInt32(input); var generationId = Codec.readInt32(input); var clustered = (partitionId!==0); return new UpdateStreamId(topicId, instanceId, clustered, clustered?(partitionId-1):0, clustered?generationId:0); }, write : function(output, request) { Codec.writeInt32(output, request.topicId); Codec.writeInt32(output, request.instanceId); if (request.clustered) { Codec.writeInt32(output, request.partitionId+1); Codec.writeInt32(output, request.generationId); } else { Codec.writeInt32(output, 0); Codec.writeInt32(output, 0); } } }; module.exports = serialiser;