@@ -1699,10 +1699,11 @@ def __Dispatch20(self, groupcount):
16991699 self .error = "Log overrun"
17001700 return i
17011701
1702- def Dispatch (self , cb , priv = None , groupcount = 1 , groupcb = None ):
1702+ def Dispatch (self , cb = None , priv = None , groupcount = 1 , vxidcb = None , groupcb = None ):
17031703 self ._cb = cb
1704- self ._priv = priv
1704+ self ._vxidcb = vxidcb
17051705 self ._groupcb = groupcb
1706+ self ._priv = priv
17061707 if self .lva .apiversion >= 2.0 :
17071708 return self .__Dispatch20 (groupcount )
17081709 else :
@@ -1730,6 +1731,7 @@ def _callBack(self, vsl, pt, fo):
17301731 t = pt [idx ]
17311732 if not bool (t ):
17321733 break
1734+
17331735 tra = t [0 ]
17341736 cbd = {
17351737 'level' : tra .level ,
@@ -1739,7 +1741,6 @@ def _callBack(self, vsl, pt, fo):
17391741 'type' : None ,
17401742 'transaction_type' : tra .type ,
17411743 }
1742-
17431744 while 1 :
17441745 i = self .lva .VSL_Next (tra .c )
17451746 if i < 0 :
@@ -1764,8 +1765,11 @@ def _callBack(self, vsl, pt, fo):
17641765 isbin = cbd ['isbin' ] == self .defi .SLT_F_BINARY or not self .dataDecode
17651766 cbd ['data' ] = self .VSL_DATA (ptr , isbin )
17661767
1767- if self ._cb :
1768+ if self ._cb is not None :
17681769 self ._cb (self , cbd , self ._priv )
1770+ if self ._vxidcb is not None :
1771+ self ._vxidcb (self , self ._priv )
1772+
17691773 if self ._groupcb :
17701774 self ._groupcb (self , self ._priv )
17711775
0 commit comments