@@ -266,14 +266,13 @@ cdef class TimestampNanos:
266266
267267
268268cdef class Sender
269+ cdef class Buffer
269270
270271
271- cdef int may_flush_on_row_complete(
272- line_sender_buffer* buf ,
273- Sender sender ) except -1:
272+ cdef int may_flush_on_row_complete(Buffer buffer , Sender sender ) except -1:
274273 if sender._auto_flush_enabled:
275- if line_sender_buffer_size( buf ) >= sender._auto_flush_watermark:
276- print('w00t' )
274+ if len( buffer ) >= sender._auto_flush_watermark:
275+ sender.flush( buffer )
277276
278277
279278cdef class Buffer:
@@ -476,9 +475,7 @@ cdef class Buffer:
476475 if self ._row_complete_sender != None :
477476 sender = PyWeakref_GetObject(self ._row_complete_sender)
478477 if sender != NULL :
479- may_flush_on_row_complete(
480- self ._impl,
481- < Sender>< object > sender)
478+ may_flush_on_row_complete(self , < Sender>< object > sender)
482479
483480 cdef inline int _at_ts(self , TimestampNanos ts) except - 1 :
484481 cdef line_sender_error* err = NULL
@@ -772,7 +769,7 @@ cdef class Sender:
772769 cdef line_sender* _impl
773770 cdef Buffer _buffer
774771 cdef bint _auto_flush_enabled
775- cdef size_t _auto_flush_watermark
772+ cdef ssize_t _auto_flush_watermark
776773 cdef object _init_capacity
777774 cdef object _max_name_len
778775
@@ -785,9 +782,9 @@ cdef class Sender:
785782 tuple auth = None ,
786783 object tls = False ,
787784 object read_timeout = None ,
788- int init_capacity = 65536 ,
785+ int init_capacity = 65536 , # 64KiB
789786 int max_name_len = 127 ,
790- object auto_flush = 32768 ):
787+ object auto_flush = 64512 ): # 63KiB
791788 cdef line_sender_error* err = NULL
792789
793790 cdef line_sender_utf8 host_utf8
@@ -887,6 +884,10 @@ cdef class Sender:
887884 self ._auto_flush_enabled = not not auto_flush
888885 self ._auto_flush_watermark = int (auto_flush) \
889886 if self ._auto_flush_enabled else 0
887+ if self ._auto_flush_watermark < 0 :
888+ raise ValueError (
889+ ' auto_flush_watermark must be >= 0, '
890+ f' not {self._auto_flush_watermark}' )
890891
891892 def new_buffer (self ):
892893 """
0 commit comments