示例#1
0
        public override void write(Object obj1, BOutput bout1, long version)
        {
            BOutputBin       bout = ((BOutputBin)bout1);
            BBufferBin       bbuf = bout.bbuf;
            HashSet <Object> arr  = (HashSet <Object>)obj1;
            int n = arr.Count;

            bout.bbuf.putLength(n);
            foreach (Object obj in arr)
            {
                bout.writeObj(obj, false, null);
            }
        }
示例#2
0
        public override void write(object obj1, BOutput bout1, long version)
        {
            BOutputBin bout = (BOutputBin)bout1;
            IDictionary <Object, Object> map = (IDictionary <Object, Object>)obj1;
            int n0 = map.Count;

            bout.bbuf.putLength(n0);
            foreach (Object key in map.Keys)
            {
                bout.writeObj(key, false, null);
                bout.writeObj(map[key], false, null);
            }
        }
示例#3
0
        public override void write(Object obj, BOutput bout1, long version)
        {
            BOutputBin     bout      = ((BOutputBin)bout1);
            Stream         strm      = (Stream)obj;
            BContentStream bstream   = bout.createStreamRequest(strm);
            BTargetId      targetId  = bstream.TargetId;
            bool           withProps = bout1.header.bversion >= BMessageHeader.BYPS_VERSION_EXTENDED_STREAM_INFORMATION;

            if (withProps)
            {
                bstream.TargetId.write(bout.bbuf.getBuffer(), bout1.header.bversion);
                bout.bbuf.putLong(bstream.ContentLength);
                bout.bbuf.putString(bstream.ContentType);
                bout.bbuf.putInt(bstream.AttachmentCode);
                bout.bbuf.putString(bstream.FileName);
            }
            else
            {
                bout.bbuf.putLong(targetId.getStreamId());
            }
        }