ctpbee-opt-api 0.1.0__cp38-cp38-win_amd64.whl → 0.1.2__cp38-cp38-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -768,6 +768,26 @@ void TdApi::OnRspQryProduct(CThostFtdcProductField *pProduct, CThostFtdcRspInfoF
768
768
 
769
769
  void TdApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
770
770
  {
771
+ // 批量模式:直接在 CTP 回调线程缓存,不走 Task 队列
772
+ if (this->instrument_batch_mode)
773
+ {
774
+ if (pInstrument)
775
+ {
776
+ this->instrument_buffer.push_back(*pInstrument);
777
+ }
778
+ if (bIsLast)
779
+ {
780
+ // 最后一条,创建一个特殊 Task 触发批量回调
781
+ Task task = Task();
782
+ task.task_name = ONRSPQRYINSTRUMENT;
783
+ task.task_last = true;
784
+ task.task_id = nRequestID;
785
+ this->task_queue.push(task);
786
+ }
787
+ return;
788
+ }
789
+
790
+ // 非批量模式:原有逻辑
771
791
  Task task = Task();
772
792
  task.task_name = ONRSPQRYINSTRUMENT;
773
793
  if (pInstrument)
@@ -4579,21 +4599,10 @@ void TdApi::processRspQryProduct(Task *task)
4579
4599
 
4580
4600
  void TdApi::processRspQryInstrument(Task *task)
4581
4601
  {
4582
- // 批量模式:缓存数据,最后一条时一次性回调
4602
+ // 批量模式:数据已在 OnRspQryInstrument 中缓存,这里只处理最后的回调
4583
4603
  if (this->instrument_batch_mode)
4584
4604
  {
4585
- if (task->task_data)
4586
- {
4587
- CThostFtdcInstrumentField *task_data = (CThostFtdcInstrumentField*)task->task_data;
4588
- this->instrument_buffer.push_back(*task_data);
4589
- delete task_data;
4590
- }
4591
- if (task->task_error)
4592
- {
4593
- delete (CThostFtdcRspInfoField*)task->task_error;
4594
- }
4595
-
4596
- // 最后一条数据,一次性回调 Python
4605
+ // 批量模式下 task_data 为空,数据已在 instrument_buffer 中
4597
4606
  if (task->task_last)
4598
4607
  {
4599
4608
  gil_scoped_acquire acquire;
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ctpbee_opt_api
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Optimized Trading API for China Future - Based on ctpbee_api with GIL optimization
5
5
  Home-page: https://github.com/fangdejia/ctpbee_api
6
6
  Author: fangdejia
@@ -5,8 +5,8 @@ ctpbee_api/ctp/libthostmduserapi_se.so,sha256=L9-iCMYj39fN0pB9EZHPc0cZMFrSYhW_xq
5
5
  ctpbee_api/ctp/libthosttraderapi_se.so,sha256=ZsfsfpviJDETXY_eJixVPPAJzeDLGd7gTPvQvm3dtPE,5382769
6
6
  ctpbee_api/ctp/thostmduserapi_se.dll,sha256=2X2QBTcMnIlV5j5_2jCu2LUSF_WKtpztTjQ0X4A0GN0,2904064
7
7
  ctpbee_api/ctp/thosttraderapi_se.dll,sha256=mgjwKEfk92Y-mk-CEAuP0bG41bx1gX5A9xZLjZFOHVY,3288576
8
- ctpbee_api/ctp/vnctpmd.cp38-win_amd64.pyd,sha256=xV85uxIfRxhNu3UzlstCevVusHI3M4NK36A1l9EaMLw,181760
9
- ctpbee_api/ctp/vnctptd.cp38-win_amd64.pyd,sha256=eLeAls6LwdwupfjaUmX0utLGDOdnLHIdFl4k73_l0_U,963584
8
+ ctpbee_api/ctp/vnctpmd.cp38-win_amd64.pyd,sha256=EyfJ2zCqmQlslebDRZhNaIk5TbkMcEd02Mf97oGOPLM,181760
9
+ ctpbee_api/ctp/vnctptd.cp38-win_amd64.pyd,sha256=z2UB3JcafCnJVWjmFNP9JrTKipEqhWP98cY4YaGE1q4,963072
10
10
  ctpbee_api/ctp/generator/concat.py,sha256=zINvTtSlwNIIwCnjnjwk0oIVv3_-wgDnRRS_FAJ1KcY,3113
11
11
  ctpbee_api/ctp/generator/const.py,sha256=jIrdo9rVvaSj-qh4-4wUVkO5LR0K4fKj3n5-u_N0KzU,7165
12
12
  ctpbee_api/ctp/generator/ctp_constant.py,sha256=K2gn0B8E7tSV8GPM846g8lBmDGlA0y2-G5005vN3lSs,41839
@@ -153,7 +153,7 @@ ctpbee_api/ctp/vnctp/vnctptd/dllmain.cpp,sha256=RBdeSvREHArOGyNnuQQf3O_0m2Z2fL8s
153
153
  ctpbee_api/ctp/vnctp/vnctptd/stdafx.cpp,sha256=Yj6RdfxRRQpT9xirVcoV912G_q4LO3xZ1VEE-lPYRAU,21
154
154
  ctpbee_api/ctp/vnctp/vnctptd/stdafx.h,sha256=viv-zJfjxUq42Ttuf8ed8dbt4hmNcmRaRBJMDUDCDJs,374
155
155
  ctpbee_api/ctp/vnctp/vnctptd/targetver.h,sha256=SagR8Xke0x_J9FtmZwk_0UrCJfynq60u71mi6ew3jAg,296
156
- ctpbee_api/ctp/vnctp/vnctptd/vnctptd.cpp,sha256=dsO6X8OjuCGSErirEV4H1PewJ3jRf3Tmt9rsclgnOSY,437093
156
+ ctpbee_api/ctp/vnctp/vnctptd/vnctptd.cpp,sha256=glZbRcbqDcOiiY4lKuehG7oQ5n0CeWuSyUL4kG5U_zU,437357
157
157
  ctpbee_api/ctp/vnctp/vnctptd/vnctptd.h,sha256=yw8xCSRn11peyetvn6TYtn_NdoOBV1ERHjJ3CfchNus,57306
158
158
  ctpbee_api/ctp/vnctp/vnctptd/vnctptd.vcxproj,sha256=PZl3S3LLPqbV6S06F6oEWgcQ8_x9uRSo5GIBbpx0ZhI,10725
159
159
  ctpbee_api/ctp/vnctp/vnctptd/vnctptd.vcxproj.filters,sha256=eWYS-vGjDlg2-VndHQ2BYxWZEoU-3GIoHNpdAN3CtEU,2000
@@ -164,8 +164,8 @@ ctpbee_api/ctp_mini/libthosttraderapi.so,sha256=zYyWfI6oNi0UyP5bX1_JWx_5plibCzom
164
164
  ctpbee_api/ctp_mini/mini_constant.py,sha256=Jjl9msUup_-8_gqxP0BtjEGdqizA4AP_CcloafFU3ws,38990
165
165
  ctpbee_api/ctp_mini/thostmduserapi.dll,sha256=55jsCD-TEjA8JtETS0uVZC3S8BJBLu7D9ShVfQc4b4M,666624
166
166
  ctpbee_api/ctp_mini/thosttraderapi.dll,sha256=vbxUVG5wZTE3B99hFIHUc3PeuZgR_QO3loCxsrJF4YY,2481152
167
- ctpbee_api/ctp_mini/vnctp_minimd.cp38-win_amd64.pyd,sha256=ML4ugANRg_BT9Yt7vY2doZPAZrO_dN_l7PmoJzYasbw,174592
168
- ctpbee_api/ctp_mini/vnctp_minitd.cp38-win_amd64.pyd,sha256=s5ucwTFk8JRzOim-Ad2HGAMp_Z0YmVs_3XHp9fzOkWU,523264
167
+ ctpbee_api/ctp_mini/vnctp_minimd.cp38-win_amd64.pyd,sha256=P_X6mzbNoEa-2st1aJsaNt512r62dUNt-vTLblXg36A,174592
168
+ ctpbee_api/ctp_mini/vnctp_minitd.cp38-win_amd64.pyd,sha256=qe_oiKZD553U129CAo-McvCUJeMCLkB3LXdXC_FFyIs,523264
169
169
  ctpbee_api/ctp_mini/vnctp_minitd.lib,sha256=B46FT6_wU6A7jyfx_Ad4kMLNtm81DrX0p1MSPTtVSGY,1750
170
170
  ctpbee_api/ctp_mini/generator/generate_api_functions.py,sha256=rBfKQ0WuJi6mgSZefSvtzDrRpn6V1ddUWw3MkksqwYM,13363
171
171
  ctpbee_api/ctp_mini/generator/generate_data_type.py,sha256=_olRQIV7Sk4MRmp0Dz5toriKf47YjCp0HfA_SQt712Y,2039
@@ -292,8 +292,8 @@ ctpbee_api/rohon/libthosttraderapi_se.so,sha256=2T9XFAHSDAYJnry7ZxK5xmpICUwItjHM
292
292
  ctpbee_api/rohon/rohon_constant.py,sha256=DcpKFDXxJK6bnofqxinPD4V6XENmzNMComJC6FMW-tU,40901
293
293
  ctpbee_api/rohon/thostmduserapi_se.dll,sha256=b0nqdY_HDBOlDwOE3PAt1PI2qYs6L5da_4dMyJDMZpM,2809856
294
294
  ctpbee_api/rohon/thosttraderapi_se.dll,sha256=Z4tnwA97nS-UZbZwWQWo1EGzJ8FGNbX86qgQJcK53-E,206336
295
- ctpbee_api/rohon/vnrohonmd.cp38-win_amd64.pyd,sha256=J0kjx2X-unqc5YdFhN_YDuwGXp1njohJLO31yaE2dcs,175104
296
- ctpbee_api/rohon/vnrohontd.cp38-win_amd64.pyd,sha256=e2NUN429KqcVWEq6RaEsW4jb4weNwQuqLVxn1UMb2rg,896512
295
+ ctpbee_api/rohon/vnrohonmd.cp38-win_amd64.pyd,sha256=_zW7oI2ZnLXebuqpyaPcGpGSUqHAm5o36kY0HA0tVDs,175104
296
+ ctpbee_api/rohon/vnrohontd.cp38-win_amd64.pyd,sha256=nKsoRvff5xct2lJfNo0t6LtbMUFT20jPepPWE-7ljXY,896512
297
297
  ctpbee_api/rohon/generator/generate_api_functions.py,sha256=06o1OtNccJI2RW8V8-sQCSSwnZ-wV_KPAuRryu5G5ws,13667
298
298
  ctpbee_api/rohon/generator/generate_data_type.py,sha256=FFxk-BwGmVlRuccYFYnOEi949aGb_YT7NIcb90byNhY,2022
299
299
  ctpbee_api/rohon/generator/generate_struct.py,sha256=KDf9OAjMPNZiNuh8QXKZQdyDtezimV4JPteGFVhQSBo,2279
@@ -408,7 +408,7 @@ ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.h,sha256=dVsI9f10_wOs29pEUtKFf_PwNI
408
408
  ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj,sha256=9OdQZjrguaYg7Xc4BaXEbAgD1h6yU1C0ysm3UxdsLpo,9847
409
409
  ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj.filters,sha256=scQg1ZHD1JICi5bfece7TRyzo4j7A4prLCx3GFSOfFU,2008
410
410
  ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj.user,sha256=6VOwJtDzgxiMdTSH3wpNh5-l2luoKsl5qod9uE6JoGA,165
411
- ctpbee_opt_api-0.1.0.dist-info/METADATA,sha256=-wqDIWmvVh0A9oeOoTUgtKkgQ4wGddzXJXbNsveIIVg,1232
412
- ctpbee_opt_api-0.1.0.dist-info/WHEEL,sha256=q-8g9petFnV9NMO9vJ2udYt2PFlnDjFGlAmDhUgQ79c,99
413
- ctpbee_opt_api-0.1.0.dist-info/top_level.txt,sha256=C9UJWyrSHeURUlhNrW8Zkv2yZVVuiOfUM8-GqRhGoaA,11
414
- ctpbee_opt_api-0.1.0.dist-info/RECORD,,
411
+ ctpbee_opt_api-0.1.2.dist-info/METADATA,sha256=oDXWeWGVuWiW5ZbSaxcCq_D7EXupDoUPc_YtQqB8DEk,1232
412
+ ctpbee_opt_api-0.1.2.dist-info/WHEEL,sha256=q-8g9petFnV9NMO9vJ2udYt2PFlnDjFGlAmDhUgQ79c,99
413
+ ctpbee_opt_api-0.1.2.dist-info/top_level.txt,sha256=C9UJWyrSHeURUlhNrW8Zkv2yZVVuiOfUM8-GqRhGoaA,11
414
+ ctpbee_opt_api-0.1.2.dist-info/RECORD,,