+ send_token(f,i,buf,last_match,n,i==-1?0:s->sums[i].len);
+ data_transfer += n;
+
+ if (n > 0)
+ write_flush(f);
+
+ if (i != -1)
+ n += s->sums[i].len;
+
+ for (j=0;j<n;j+=CHUNK_SIZE) {
+ int n1 = MIN(CHUNK_SIZE,n-j);
+ sum_update(map_ptr(buf,last_match+j,n1),n1);