public IDisposable Initialize(DatabaseSmugglerOptions options, SmugglerResult result, out long buildVersion) { _result = result; _returnBuffer = _context.GetManagedBuffer(out _buffer); _state = new JsonParserState(); _parser = new UnmanagedJsonParser(_context, _state, "file"); if (UnmanagedJsonParserHelper.Read(_peepingTomStream, _parser, _state, _buffer) == false) { UnmanagedJsonParserHelper.ThrowInvalidJson("Unexpected end of json.", _peepingTomStream, _parser); } if (_state.CurrentTokenType != JsonParserToken.StartObject) { UnmanagedJsonParserHelper.ThrowInvalidJson("Expected start object, but got " + _state.CurrentTokenType, _peepingTomStream, _parser); } buildVersion = ReadBuildVersion(); _buildVersionType = BuildVersion.Type(buildVersion); _readLegacyEtag = options.ReadLegacyEtag; return(new DisposableAction(() => { _parser.Dispose(); _returnBuffer.Dispose(); _returnWriteBuffer.Dispose(); })); }
public void Dispose() { _response.Response.Dispose(); _response.Stream.Dispose(); _parser.Dispose(); _returnBuffer.Dispose(); }
public virtual void Dispose() { try { Flush(); } catch (ObjectDisposedException) { //we are disposing, so this exception doesn't matter } finally { _returnBuffer.Dispose(); _context.ReturnMemory(_parserAuxiliarMemory); } }
public void Dispose() { // we do not dispose _stream _returnedBuffer.Dispose(); }