using System; using System.Threading; using System.Threading.Tasks; using RethinkDb.Driver.Ast; namespace RethinkDb.Driver.Net { /// /// Represents a marker interface for either a Connection or ConnectionPool. /// This should really only be used for IoC purpose. Do not call methods /// explicitly from this interface, instead the Run* methods at the end of a query. /// public interface IConnection : IDisposable { /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// Task RunAsync(ReqlAst term, object globalOpts, CancellationToken cancelToken); /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// Task> RunCursorAsync(ReqlAst term, object globalOpts, CancellationToken cancelToken); /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// Task RunAtomAsync(ReqlAst term, object globalOpts, CancellationToken cancelToken); /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// Task RunResultAsync(ReqlAst term, object globalOpts, CancellationToken cancelToken); /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// void RunNoReply(ReqlAst term, object globalOpts); /// /// DO NOT CALL THIS METHOD EXPLICITLY. USE Run*() METHODS AT THE END OF YOUR QUERY. /// Task RunUnsafeAsync(ReqlAst term, object globalOpts, CancellationToken cancelToken); } }