jetstream-api 0.6.2__tar.gz → 0.6.3__tar.gz
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.
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/PKG-INFO +1 -1
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/__init__.py +1 -1
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/properties.py +43 -14
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/jetstream_api.egg-info/PKG-INFO +1 -1
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/pyproject.toml +1 -1
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/LICENSE.txt +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/README.md +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/admin.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/admintopic.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/common.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/connectivity.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/exception.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/msg.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/pattern.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/producer.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/py.typed +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/qmgr.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/topic.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/ilink/util.py +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/jetstream_api.egg-info/SOURCES.txt +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/jetstream_api.egg-info/dependency_links.txt +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/jetstream_api.egg-info/requires.txt +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/jetstream_api.egg-info/top_level.txt +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/setup.cfg +0 -0
- {jetstream_api-0.6.2 → jetstream_api-0.6.3}/tests/test_example.py +0 -0
|
@@ -26,8 +26,19 @@ def _format_millis(value: int, fmt: str) -> str:
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
# 구엔진(
|
|
30
|
-
|
|
29
|
+
# 구엔진 SetVolumeMonitorForceReloadSize() 가 강제하는 하한.
|
|
30
|
+
LEGACY_FORCE_RELOAD_MIN = 1048576
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _has_value(raw) -> bool:
|
|
34
|
+
"""서버가 준 원본이 쓸 만한지 본다.
|
|
35
|
+
|
|
36
|
+
신엔진(7.0+)은 구엔진 전용 자리를 0 으로 채워 보낸다. 그 0 을 되돌려 쓰면
|
|
37
|
+
안 되므로 전부 0 이면 원본이 없는 것으로 본다.
|
|
38
|
+
"""
|
|
39
|
+
return bool(raw) and any(raw)
|
|
40
|
+
|
|
41
|
+
|
|
31
42
|
# 구엔진(6.3.x)의 TCPListener SessionPerThread 기본값.
|
|
32
43
|
# 0 이면 imqlsr 가 nSessionCnt / nSessionPerThread 에서 0 나눗셈으로 죽는다.
|
|
33
44
|
LEGACY_SESSION_PER_THREAD = 10
|
|
@@ -2483,6 +2494,7 @@ class ILQmgrProperty(_AutoAccessor):
|
|
|
2483
2494
|
self.volumeMonitorSizeLimit = 10485760
|
|
2484
2495
|
self._volumeTailRaw = None
|
|
2485
2496
|
self._sessionPerThreadRaw = None
|
|
2497
|
+
self._poolSizeRaw = None
|
|
2486
2498
|
self.logLevelSystem = 4
|
|
2487
2499
|
self.logFileSizeSystem = 4194304
|
|
2488
2500
|
self.logFileCountSystem = 5
|
|
@@ -2582,6 +2594,9 @@ class ILQmgrProperty(_AutoAccessor):
|
|
|
2582
2594
|
offset += 10
|
|
2583
2595
|
self.recvWaitTimeout = ba_pick_int(ba, offset, 10)
|
|
2584
2596
|
offset += 10
|
|
2597
|
+
# 구엔진(6.3.x)에는 실재하는 필드다. 상수로 덮으면 현장에서 조정해 둔
|
|
2598
|
+
# 값이 지워지므로 원본을 보관해 되돌려 쓴다(실측).
|
|
2599
|
+
self._poolSizeRaw = bytes(ba[offset:offset + 20])
|
|
2585
2600
|
offset += 20
|
|
2586
2601
|
self.volumeMonitorInterval = ba_pick_int(ba, offset, 10)
|
|
2587
2602
|
offset += 10
|
|
@@ -2704,11 +2719,15 @@ class ILQmgrProperty(_AutoAccessor):
|
|
|
2704
2719
|
# v6.3.4 에서 async 를 없애며 acceptPoolSize/eventPoolSize 를 뺐지만
|
|
2705
2720
|
# 구엔진(6.3.x)은 이 두 필드를 읽고 1~9 로 검증한다. 0 을 보내면
|
|
2706
2721
|
# MIMQE_INVALID_ARGUMENT (AcceptPoolSize : 0) 로 거부된다(6.3.1 실측).
|
|
2707
|
-
#
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2722
|
+
# 다만 기본값으로 덮으면 현장에서 조정해 둔 값이 지워지므로,
|
|
2723
|
+
# 서버가 준 원본이 있으면 그대로 되돌려 준다(없을 때만 1/1).
|
|
2724
|
+
raw_pool = getattr(self, "_poolSizeRaw", None)
|
|
2725
|
+
if _has_value(raw_pool):
|
|
2726
|
+
ba[offset:offset + 20] = raw_pool
|
|
2727
|
+
else:
|
|
2728
|
+
ba_merge(1, ba, offset)
|
|
2729
|
+
ba_merge(1, ba, offset + 10)
|
|
2730
|
+
offset += 20
|
|
2712
2731
|
ba_merge(self.volumeMonitorInterval, ba, offset)
|
|
2713
2732
|
offset += 10
|
|
2714
2733
|
ba_merge(self.volumeMonitorSizeLimit, ba, offset)
|
|
@@ -2771,8 +2790,11 @@ class ILQmgrProperty(_AutoAccessor):
|
|
|
2771
2790
|
# 서버가 준 값을 그대로 되돌려 준다
|
|
2772
2791
|
ba[topic_offset:topic_offset + 20] = raw
|
|
2773
2792
|
else:
|
|
2774
|
-
#
|
|
2775
|
-
|
|
2793
|
+
# 받은 값이 없다 - 엔진 생성자와 같이 sizeLimit 을 따라간다
|
|
2794
|
+
# (6.3 ManagerProperty.hpp:143 이 mForceReloadSize = mSizeLimit).
|
|
2795
|
+
# 엔진 세터가 1048576 미만을 올려 잡으므로 그 아래로 내리지 않는다.
|
|
2796
|
+
ba_merge(max(self.volumeMonitorSizeLimit, LEGACY_FORCE_RELOAD_MIN),
|
|
2797
|
+
ba, topic_offset)
|
|
2776
2798
|
# 구엔진에만 있는 sessionPerThread 도 되돌려 준다
|
|
2777
2799
|
raw2 = getattr(self, "_sessionPerThreadRaw", None)
|
|
2778
2800
|
if raw2:
|
|
@@ -3578,6 +3600,7 @@ class ILServiceProperty(_AutoAccessor):
|
|
|
3578
3600
|
ILException: 그 밖의 파싱 실패.
|
|
3579
3601
|
"""
|
|
3580
3602
|
self.ip = "127.0.0.1"
|
|
3603
|
+
self._poolSizeRaw = None
|
|
3581
3604
|
self.port = 9998
|
|
3582
3605
|
self.version = ""
|
|
3583
3606
|
self.timeoutSocketSend = 60
|
|
@@ -3619,6 +3642,8 @@ class ILServiceProperty(_AutoAccessor):
|
|
|
3619
3642
|
offset += 10
|
|
3620
3643
|
self.timeoutSocketRecv = ba_pick_int(ba, offset, 10)
|
|
3621
3644
|
offset += 10
|
|
3645
|
+
# 구엔진 ilsvc 는 이 값으로 스레드 풀을 만든다 - 원본을 보관해 되돌려 쓴다
|
|
3646
|
+
self._poolSizeRaw = bytes(ba[offset:offset + 20])
|
|
3622
3647
|
offset += 20
|
|
3623
3648
|
self.logLevelSystem = ba_pick_int(ba, offset, 2)
|
|
3624
3649
|
offset += 2
|
|
@@ -3676,11 +3701,15 @@ class ILServiceProperty(_AutoAccessor):
|
|
|
3676
3701
|
# v6.3.4 에서 async 를 없애며 acceptPoolSize/eventPoolSize 를 뺐지만
|
|
3677
3702
|
# 구엔진(6.3.x) ilsvc 는 이 값으로 스레드 풀을 만든다
|
|
3678
3703
|
# (ILinkServerMainClass.cpp:151, ServerListener.cpp:17). 0 이면 풀이 0개다.
|
|
3679
|
-
#
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3704
|
+
# 다만 기본값으로 덮으면 현장에서 조정해 둔 값이 지워지므로,
|
|
3705
|
+
# 서버가 준 원본이 있으면 그대로 되돌려 준다(없을 때만 1/1).
|
|
3706
|
+
raw_pool = getattr(self, "_poolSizeRaw", None)
|
|
3707
|
+
if _has_value(raw_pool):
|
|
3708
|
+
ba[offset:offset + 20] = raw_pool
|
|
3709
|
+
else:
|
|
3710
|
+
ba_merge(1, ba, offset)
|
|
3711
|
+
ba_merge(1, ba, offset + 10)
|
|
3712
|
+
offset += 20
|
|
3684
3713
|
ba_merge(self.logLevelSystem, ba, offset)
|
|
3685
3714
|
offset += 2
|
|
3686
3715
|
ba_merge(self.logFileSizeSystem, ba, offset)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|