示例#1
0
        // Standard ctor - as for BlobWriteStream but also specify the sequence number of the segment.
        public PartialBlobWriteStream(Stream s, FPTag t, int id)
        {
            // We cannot call the base constructor because we need use the additional id parameter
            // Even if we split out some of the functionality using a virtual init method with no
            // parameters, the sequenceId will not be initialized when the virtual function was called
            // by the base constructor. So we just have to duplicate the (small)initialization code.
            holdingArea = s;
            theTag      = t;
            sequenceId  = id;

            myCallbacks = new Callbacks(holdingArea);
            fpStream    = new FPGenericStream(holdingArea, FPStream.StreamDirection.InputToCentera, myCallbacks, (IntPtr)this.GetHashCode());

            FPLogger.ConsoleMessage("\n ** Partial blob write stream with sequence id = " + sequenceId);
            blobThread      = new Thread(delegate() { theTag.BlobWritePartial(fpStream, sequenceId); });
            blobThread.Name = "PartialBlobWriteThread";
        }