public ServiceRemotingRequestBondMessageBodySerializer(IBufferPoolManager bufferPoolManager, IList <Type> requestBodyTypes) { _bufferPoolManager = bufferPoolManager; _parameterCount = requestBodyTypes.Count; _payloadType = CachedBondMessageTypeBuilder.GetOrAddRequestType(requestBodyTypes); _serializer = new Serializer <FastBinaryWriter <OutputStream> >(_payloadType); _deserializer = new Deserializer <FastBinaryReader <InputStream> >(_payloadType); }
public ServiceRemotingResponseBondMessageBodySerializer(IEnumerable <Type> responseBodyTypes) { var responseBodyType = responseBodyTypes.SingleOrDefault(); _empty = responseBodyType == null; if (_empty) { _payloadType = typeof(BondEmptyResponseMessageBody); } else { _payloadType = CachedBondMessageTypeBuilder.GetOrAddResponseType(responseBodyType); } _serializer = new Serializer <FastBinaryWriter <OutputStream> >(_payloadType); _deserializer = new Deserializer <FastBinaryReader <InputStream> >(_payloadType); }