@@ -98,9 +98,11 @@ def session(self, **config):
9898
9999class Result (list ):
100100
101- def __init__ (self ):
101+ def __init__ (self , session ):
102+ self .session = session
102103 super (Result , self ).__init__ ()
103104 self .keys = None
105+ self .complete = False
104106 self .bench_test = None
105107
106108 def on_header (self , metadata ):
@@ -112,12 +114,18 @@ def on_record(self, values):
112114 self .append (Record (self .keys , tuple (map (hydrated , values ))))
113115
114116 def on_footer (self , metadata ):
117+ self .complete = True
115118 if self .bench_test :
116119 self .bench_test .end_recv = perf_counter ()
117120
118121 def on_failure (self , metadata ):
119122 raise CypherError (metadata )
120123
124+ def consume (self ):
125+ fetch_next = self .session .connection .fetch_next
126+ while not self .complete :
127+ fetch_next ()
128+
121129
122130class Session (object ):
123131 """ Logical session carried out over an established TCP connection.
@@ -154,7 +162,7 @@ def run(self, statement, parameters=None):
154162 t = BenchTest ()
155163 t .init = perf_counter ()
156164
157- result = Result ()
165+ result = Result (self )
158166 result .bench_test = t
159167
160168 run_response = Response (self .connection )
@@ -172,9 +180,7 @@ def run(self, statement, parameters=None):
172180 self .connection .send ()
173181 t .end_send = perf_counter ()
174182
175- fetch_next = self .connection .fetch_next
176- while not pull_all_response .complete :
177- fetch_next ()
183+ result .consume ()
178184
179185 t .done = perf_counter ()
180186 self .bench_tests .append (t )
0 commit comments