mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-02-05 17:28:23 +08:00
41 lines
921 B
Python
41 lines
921 B
Python
import flashdb
|
|
import struct
|
|
import time
|
|
import os
|
|
DB_PATH = "test/out/fdb_tsdb"
|
|
|
|
|
|
tsdb = flashdb.TSDB("env", DB_PATH, max_len=512)
|
|
|
|
tic = time.time() * 1000
|
|
for i in range(10):
|
|
blob_i = struct.pack('i', i)
|
|
time.sleep(0.001)
|
|
ret = tsdb.tsl_append(blob_i)
|
|
|
|
toc = time.time() * 1000
|
|
assert ret == 0
|
|
|
|
|
|
sum_by_time = 0
|
|
|
|
|
|
def callback(tsl, user_data) -> int:
|
|
global sum_by_time
|
|
# print(tsl.get_time(), tsl.to_blob())
|
|
t = tsl.get_time()
|
|
blob_i = tsl.to_blob()
|
|
i = struct.unpack('i', blob_i)[0]
|
|
print(t, i, user_data)
|
|
if user_data == 'user_data_by_time':
|
|
sum_by_time += i
|
|
return False # False: continue, True: stop
|
|
|
|
assert tsdb.tsl_iter(callback, 'user_data') == 0
|
|
assert tsdb.tsl_iter_reverse(callback, 'user_data_reverse') == 0
|
|
print('toc - tic', toc - tic)
|
|
assert tsdb.tsl_iter_by_time(tic, toc, callback, 'user_data_by_time') == 0
|
|
assert sum_by_time == 45
|
|
|
|
print('PASS')
|