@@ -33,6 +33,10 @@ class Session(object):
3333    method. 
3434    """ 
3535
36+     response_class  =  Response 
37+ 
38+     result_class  =  None 
39+ 
3640    transaction  =  None 
3741
3842    last_bookmark  =  None 
@@ -66,9 +70,9 @@ def run(self, statement, parameters=None, **kwparameters):
6670        statement  =  _norm_statement (statement )
6771        parameters  =  _norm_parameters (parameters , ** kwparameters )
6872
69-         run_response  =  Response (self .connection )
70-         pull_all_response  =  Response (self .connection )
71-         result  =  StatementResult (self , run_response , pull_all_response )
73+         run_response  =  self . response_class (self .connection )
74+         pull_all_response  =  self . response_class (self .connection )
75+         result  =  self . result_class (self , run_response , pull_all_response )
7276        result .statement  =  statement 
7377        result .parameters  =  parameters 
7478
@@ -79,6 +83,9 @@ def run(self, statement, parameters=None, **kwparameters):
7983        return  result 
8084
8185    def  fetch (self ):
86+         """ Fetch the next message if available and return 
87+         the number of messages fetched (one or zero). 
88+         """ 
8289        try :
8390            return  self .connection .fetch ()
8491        except  ServiceUnavailable  as  cause :
@@ -331,6 +338,9 @@ def peek(self):
331338        raise  ResultError ("End of stream" )
332339
333340
341+ Session .result_class  =  StatementResult 
342+ 
343+ 
334344class  Record (object ):
335345    """ Record is an ordered collection of fields. 
336346
0 commit comments