Example #1
0
        public IInternalAsyncSession Session(Action <SessionConfigBuilder> action, bool reactive)
        {
            if (IsClosed)
            {
                ThrowDriverClosedException();
            }

            var sessionConfig = ConfigBuilders.BuildSessionConfig(action);

            var session = new AsyncSession(_connectionProvider,
                                           _logger,
                                           _retryLogic,
                                           sessionConfig.DefaultAccessMode,
                                           sessionConfig.Database,
                                           Bookmark.From(sessionConfig.Bookmarks ?? Array.Empty <Bookmark>()),
                                           reactive, ParseFetchSize(sessionConfig.FetchSize))
            {
                SessionConfig = sessionConfig
            };

            if (IsClosed)
            {
                ThrowDriverClosedException();
            }

            return(session);
        }