
Solved!
Go to Solution.NET Centera with Stream override
I have a need to override Stream in my application because we write many files to Centera in the same blob.I have a Stream class that overrides system.io.stream, and it reads the files in sequence and supplies them to the wrapper Read function.
I have tried the regular FPStream( filename, intptr) and it works fine, but I tried to supply my stream to the FPGenericStream class. It kinda looks like this:
FPPool thePool = new FPPool(threadData.URL);
FPClip clipRef = new FPClip(thePool, "StreamClip");
FPTag fileTag = clipRef.AddTag("FileBlob");
MultiFileInputStream mfis = new MultifileInputStream( fileList); // this over-rides system.io.stream
FPGenericStream gfs = new FPGenericStream(mfis, userData);
fileTag.BlobWrite(gfs,FPMisc.OPTION_CLIENT_CALCID);
Where MultFileInputStream overrides system.io.Stream, so when FPGenericStream reads, it reads from mfis.
This seems to work great, I have traced thru the .NET wrapper to the point where the info->mEOF is set to true, but then the Centera reports an error, and I get a Seek back to zero, and this continues in a tight loop.
I have attached a Centera log file, you can see that the data is transferred OK, then EOF is set, but at about line 409, we get an error:
message=BlobIDMismatchException: BlobIDMismatch on node 14977c10-1dd2-11b2-8f1e-8c434d072249 [0UM368STVC812AHAPLOSG9L6Q0, 09CG0HVCOO7EK7SGNOTIC0J079]
followed by a reset and Seek to zero.
any help would be appreciated.
1 Attachment
centera_5.txt
centera_5.txt
Responses (0)
Solutions (0)
