jetstream-api 0.5.0__tar.gz → 0.5.2__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.
Files changed (25) hide show
  1. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/PKG-INFO +1 -1
  2. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/__init__.py +1 -1
  3. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/admin.py +14 -6
  4. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/properties.py +209 -197
  5. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/jetstream_api.egg-info/PKG-INFO +1 -1
  6. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/pyproject.toml +1 -1
  7. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/LICENSE.txt +0 -0
  8. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/README.md +0 -0
  9. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/admintopic.py +0 -0
  10. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/common.py +0 -0
  11. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/connectivity.py +0 -0
  12. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/exception.py +0 -0
  13. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/msg.py +0 -0
  14. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/pattern.py +0 -0
  15. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/producer.py +0 -0
  16. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/py.typed +0 -0
  17. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/qmgr.py +0 -0
  18. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/topic.py +0 -0
  19. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/ilink/util.py +0 -0
  20. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/jetstream_api.egg-info/SOURCES.txt +0 -0
  21. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/jetstream_api.egg-info/dependency_links.txt +0 -0
  22. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/jetstream_api.egg-info/requires.txt +0 -0
  23. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/jetstream_api.egg-info/top_level.txt +0 -0
  24. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/setup.cfg +0 -0
  25. {jetstream_api-0.5.0 → jetstream_api-0.5.2}/tests/test_example.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jetstream-api
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: Python client API for iLink M.O.M. (Message Oriented Middleware)
5
5
  Author: snowjeans
6
6
  License: Boost Software License - Version 1.0 - August 17th, 2003
@@ -1,6 +1,6 @@
1
1
  """iLink - Python client API for iLink M.O.M. (Message Oriented Middleware)."""
2
2
 
3
- __version__ = "0.5.0"
3
+ __version__ = "0.5.2"
4
4
 
5
5
  # --- Admin / Service ---
6
6
  from .admin import ILAdminService, ILAdminQmgr, ILLogBrowser, ILQueueBrowser
@@ -6278,7 +6278,10 @@ class ILLogBrowser:
6278
6278
  self.service = service
6279
6279
 
6280
6280
  def __del__(self) -> None:
6281
- if self.browserId:
6281
+ # 생성자가 중간에 실패하면 속성이 없을 수 있다. __del__ 에서 난 예외는
6282
+ # 파이썬이 삼키고 stderr 로만 찍으므로, 동작에는 문제가 없어도 로그가
6283
+ # 지저분해진다 - getattr 로 방어한다.
6284
+ if getattr(self, "browserId", None) and getattr(self, "service", None):
6282
6285
  self.close()
6283
6286
 
6284
6287
  def close(self) -> None:
@@ -6289,10 +6292,11 @@ class ILLogBrowser:
6289
6292
  Note:
6290
6293
  닫지 않으면 서버에 커서가 남는다. ``try/finally`` 로 반드시 닫아라.
6291
6294
  """
6292
- if not self.service.isOnline():
6295
+ service = getattr(self, "service", None)
6296
+ if service is None or not service.isOnline():
6293
6297
  return
6294
6298
  try:
6295
- self.service.request(
6299
+ service.request(
6296
6300
  ILC.MIMQ_BROWSER_DELETION,
6297
6301
  ILC.MIMQ_SUCCESSFUL_BROWSER_DELETION,
6298
6302
  self.browserId,
@@ -6388,7 +6392,10 @@ class ILQueueBrowser:
6388
6392
  self.closed = False
6389
6393
 
6390
6394
  def __del__(self) -> None:
6391
- if self.browserId:
6395
+ # 생성자가 중간에 실패하면 속성이 없을 수 있다. __del__ 에서 난 예외는
6396
+ # 파이썬이 삼키고 stderr 로만 찍으므로, 동작에는 문제가 없어도 로그가
6397
+ # 지저분해진다 - getattr 로 방어한다.
6398
+ if getattr(self, "browserId", None) and getattr(self, "service", None):
6392
6399
  self.close()
6393
6400
 
6394
6401
  def close(self) -> None:
@@ -6399,10 +6406,11 @@ class ILQueueBrowser:
6399
6406
  Note:
6400
6407
  닫지 않으면 서버에 커서가 남는다. ``try/finally`` 로 반드시 닫아라.
6401
6408
  """
6402
- if not self.service.isOnline() or self.closed:
6409
+ service = getattr(self, "service", None)
6410
+ if service is None or not service.isOnline() or getattr(self, "closed", True):
6403
6411
  return
6404
6412
  try:
6405
- self.service.request(
6413
+ service.request(
6406
6414
  self.qmgrName,
6407
6415
  ILC.MIMQ_BROWSER_DELETION,
6408
6416
  ILC.MIMQ_SUCCESSFUL_BROWSER_DELETION,
@@ -92,23 +92,23 @@ class DestItem(_AutoAccessor):
92
92
  송신 채널이 이 목록을 ``balanceMode`` 규칙에 따라 돌면서 메시지를 보낸다.
93
93
 
94
94
  Attributes:
95
- qmgrName (str):
96
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 생성 시 지정, 이후 변경 불가. 대상 큐 관리자 이름. 기본 ``""``.
97
- qmgrIp (str):
98
- 스펙: 기본 "" · 범위 127바이트 이하 문자열 · 생성 시 지정, 이후 변경 불가. 대상 IP 또는 호스트명. 기본 ``""``.
99
- qmgrPort (int):
100
- 스펙: 기본 0 · 범위 1025~65535 · 생성 시 지정, 이후 변경 불가. 대상 포트. 기본 0.
101
- statusCode (int):
102
- 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING · 변경 불가(ReadOnly). 이 대상의 상태. :data:`ILC.MIMQ_RUNNING` /
95
+ qmgrName (str): 대상 큐 관리자 이름. 기본 ``""``.
96
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 생성 시 지정, 이후 변경 불가.
97
+ qmgrIp (str): 대상 IP 또는 호스트명. 기본 ``""``.
98
+ 스펙: 기본 "" · 범위 127바이트 이하 문자열 · 생성 시 지정, 이후 변경 불가.
99
+ qmgrPort (int): 대상 포트. 기본 0.
100
+ 스펙: 기본 0 · 범위 1025~65535 · 생성 시 지정, 이후 변경 불가.
101
+ statusCode (int): 이 대상의 상태. :data:`ILC.MIMQ_RUNNING` /
103
102
  :data:`ILC.MIMQ_STOPPED`(기본) / :data:`ILC.MIMQ_STARTING` /
104
103
  :data:`ILC.MIMQ_STOPPING`. 접근자는 :meth:`get_status` 다
105
104
  (``getStatusCode`` 가 아니다).
106
- errorString (str):
107
- 스펙: 기본 "" · 범위 511바이트 이하 문자열 · 변경 불가(ReadOnly). 마지막 오류 사유. 정상이면 ``""``.
108
- rtt (int):
109
- 스펙: 기본 -1 · 범위 -1~2147483647 (-1=미측정) · 단위 밀리초 · 변경 불가(ReadOnly). 왕복 지연(밀리초). 측정 전이면 ``-1``.
110
- depth (int):
111
- 스펙: 기본 -1 · 범위 -1~2147483647 (-1=조회 실패) · 단위 건 · 변경 불가(ReadOnly). 대상 큐의 깊이. 알 수 없으면 ``-1``.
105
+ 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING · 변경 불가(ReadOnly).
106
+ errorString (str): 마지막 오류 사유. 정상이면 ``""``.
107
+ 스펙: 기본 "" · 범위 511바이트 이하 문자열 · 변경 불가(ReadOnly).
108
+ rtt (int): 왕복 지연(밀리초). 측정 전이면 ``-1``.
109
+ 스펙: 기본 -1 · 범위 -1~2147483647 (-1=미측정) · 단위 밀리초 · 변경 불가(ReadOnly).
110
+ depth (int): 대상 큐의 깊이. 알 수 없으면 ``-1``.
111
+ 스펙: 기본 -1 · 범위 -1~2147483647 (-1=조회 실패) · 단위 건 · 변경 불가(ReadOnly).
112
112
  """
113
113
 
114
114
  def __init__(
@@ -240,16 +240,16 @@ class PartitionItem(_AutoAccessor):
240
240
  """큐 파티션 하나의 적재 현황. :class:`ILQueueRealTimeInfo` 안에 목록으로 들어간다.
241
241
 
242
242
  Attributes:
243
- size (int):
244
- 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly). 이 파티션이 쓰는 총 바이트. 기본 0.
245
- msgCnt (int):
246
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 적재된 메시지 수(확정분). 기본 0.
247
- trxCnt (int):
248
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 처리 중(미커밋) 메시지 수. 기본 0.
249
- fragmentCnt (int):
250
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 조각 수. 기본 0.
251
- fragmentSize (int):
252
- 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly). 조각이 쓰는 총 바이트. 기본 0.
243
+ size (int): 이 파티션이 쓰는 총 바이트. 기본 0.
244
+ 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly).
245
+ msgCnt (int): 적재된 메시지 수(확정분). 기본 0.
246
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
247
+ trxCnt (int): 처리 중(미커밋) 메시지 수. 기본 0.
248
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
249
+ fragmentCnt (int): 조각 수. 기본 0.
250
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
251
+ fragmentSize (int): 조각이 쓰는 총 바이트. 기본 0.
252
+ 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly).
253
253
  """
254
254
 
255
255
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -338,13 +338,13 @@ class ILQueueMinorProperty(_AutoAccessor):
338
338
  전체 속성이 필요하면 :class:`ILQueueProperty` 를 쓴다.
339
339
 
340
340
  Attributes:
341
- name (str):
342
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 큐 이름. 기본 ``""``.
343
- type (int):
344
- 스펙: 기본 LOCAL · 범위 LOCAL | REMOTE | XMIT · 변경 불가(ReadOnly). 큐 종류. :data:`ILC.MIMQ_LOCAL_PERSISTENT`(기본) /
341
+ name (str): 큐 이름. 기본 ``""``.
342
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
343
+ type (int): 큐 종류. :data:`ILC.MIMQ_LOCAL_PERSISTENT`(기본) /
345
344
  :data:`ILC.MIMQ_REMOTE_QUEUE` / :data:`ILC.MIMQ_CHANNEL_TRANSMISSION_QUEUE`.
346
- depth (int):
347
- 스펙: 기본 0 · 범위 0~2147483647 · 단위 건 · 변경 불가(ReadOnly). 현재 깊이(메시지 수). 기본 0.
345
+ 스펙: 기본 LOCAL · 범위 LOCAL | REMOTE | XMIT · 변경 불가(ReadOnly).
346
+ depth (int): 현재 깊이(메시지 수). 기본 0.
347
+ 스펙: 기본 0 · 범위 0~2147483647 · 단위 건 · 변경 불가(ReadOnly).
348
348
  """
349
349
 
350
350
  def __init__(
@@ -512,9 +512,9 @@ class ILQueueProperty(_AutoAccessor):
512
512
  :data:`ILC.MIMQ_REMOTE_QUEUE` / :data:`ILC.MIMQ_CHANNEL_TRANSMISSION_QUEUE`.
513
513
  스펙: 기본 LOCAL · 범위 LOCAL | REMOTE | XMIT · 변경 불가.
514
514
  depth (int): **읽기 전용** 현재 깊이. 기본 0.
515
- 스펙: 기본 0 · 범위 0~2147483647 · 변경 불가.
515
+ 스펙: 기본 0 · 범위 0~2147483647 · 단위 건 · 변경 불가.
516
516
  maxDepth (int): 최대 깊이. 넘으면 put 이 거부된다. 기본 99999999.
517
- 스펙: 기본 99999999 · 범위 1~99999999 · 변경 가능/재기동 불필요.
517
+ 스펙: 기본 99999999 · 범위 1~99999999 · 단위 건 · 변경 가능/재기동 불필요.
518
518
  maxMsgLength (int): 메시지 1건 최대 바이트. 기본 ``-1``(무제한).
519
519
  스펙: 기본 DISABLED (-1) · 범위 -1 또는 1~2147483647 · 단위 byte · 변경 가능/재기동 불필요.
520
520
  traceEnabled (bool): 이 큐의 트레이스 여부. 기본 False.
@@ -543,7 +543,7 @@ class ILQueueProperty(_AutoAccessor):
543
543
  expiredQueue (str): 만료된 메시지를 옮길 큐. 기본 ``""``.
544
544
  스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 가능/재기동 불필요.
545
545
  incomingDelayDepth (int): 유입 지연을 걸 깊이 기준. ``-1``(기본)이면 미사용.
546
- 스펙: 기본 DISABLED (-1) · 범위 -1 또는 1~2147483647 · 변경 가능/재기동 불필요.
546
+ 스펙: 기본 DISABLED (-1) · 범위 -1 또는 1~2147483647 · 단위 건 · 변경 가능/재기동 불필요.
547
547
  incomingDelay (int): 그때 넣을 지연. ``-1``(기본)이면 미사용.
548
548
  스펙: 기본 NODELAY (-1) · 범위 -1 또는 1~2147483647 · 단위 밀리초 · 변경 가능/재기동 불필요.
549
549
  maxMemorySize (int): 메모리 상주 한도(바이트). 기본 10485760(10MB).
@@ -551,13 +551,13 @@ class ILQueueProperty(_AutoAccessor):
551
551
  sharedMemorySize (int): 공유 메모리 크기. 기본 0.
552
552
  스펙: 기본 DISABLED (0) · 범위 0~9223372036854775807 · 단위 byte · 변경 불가.
553
553
  numberOfPartition (int): 파일 파티션 개수. 기본 2.
554
- 스펙: 기본 2 · 범위 2~99 · 변경 불가.
555
- legacyBlob (bool):
556
- 스펙: 서버 응답 길이로 라이브러리가 판단하는 내부 표시 · 앱이 건드리지 않는다. 이 객체가 **구버전(4096) 블롭**에서 만들어졌는지.
554
+ 스펙: 기본 2 · 범위 2~99 · 단위 개 · 변경 불가.
555
+ legacyBlob (bool): 이 객체가 **구버전(4096) 블롭**에서 만들어졌는지.
557
556
  엔진 rev 3155 미만이 보낸 응답이면 True 다. 그 경우 ``expiry`` /
558
557
  ``expiredQueue`` / ``deliveryMode`` / ``maxMemorySize`` /
559
558
  ``sharedMemorySize`` / ``numberOfPartition`` 은 **서버가 준 값이 아니라
560
559
  기본값**이다 - 구엔진에는 그 설정이 없다.
560
+ 스펙: 서버 응답 길이로 라이브러리가 판단하는 내부 표시 · 앱이 건드리지 않는다.
561
561
  """
562
562
 
563
563
  def __init__(
@@ -970,17 +970,17 @@ class ILChannelMinorProperty(_AutoAccessor):
970
970
  """채널 **요약** 정보. 목록 조회(``getChannelMinorList``)가 돌려주는 가벼운 형태.
971
971
 
972
972
  Attributes:
973
- name (str):
974
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 채널 이름. 기본 ``""``.
975
- type (ILChannelType):
976
- 스펙: 기본 CLIENT · 범위 CLIENT | SERVER · 변경 불가(ReadOnly). 종류. ``CLIENT``(기본) / ``SERVER``.
977
- direction (ILChannelDirection):
978
- 스펙: 기본 SEND · 범위 SEND | RECV · 변경 불가(ReadOnly). 방향. ``SEND``(기본) / ``RECV``.
979
- status (ILChannelStatus):
980
- 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING | EXCEPTION · 변경 불가(ReadOnly). 상태. ``STOPPED``(기본) / ``RUNNING`` /
973
+ name (str): 채널 이름. 기본 ``""``.
974
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
975
+ type (ILChannelType): 종류. ``CLIENT``(기본) / ``SERVER``.
976
+ 스펙: 기본 CLIENT · 범위 CLIENT | SERVER · 변경 불가(ReadOnly).
977
+ direction (ILChannelDirection): 방향. ``SEND``(기본) / ``RECV``.
978
+ 스펙: 기본 SEND · 범위 SEND | RECV · 변경 불가(ReadOnly).
979
+ status (ILChannelStatus): 상태. ``STOPPED``(기본) / ``RUNNING`` /
981
980
  ``STARTING`` / ``STOPPING`` / ``EXCEPTION``.
982
- autoStart (bool):
983
- 스펙: 기본 AUTO · 범위 AUTO | MANUAL · 변경 불가(ReadOnly) (본체 속성으로 바꾼다). 큐 관리자 기동 시 함께 뜰지. 기본 True.
981
+ 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING | EXCEPTION · 변경 불가(ReadOnly).
982
+ autoStart (bool): 큐 관리자 기동 시 함께 뜰지. 기본 True.
983
+ 스펙: 기본 AUTO · 범위 AUTO | MANUAL · 변경 불가(ReadOnly) (본체 속성으로 바꾼다).
984
984
  """
985
985
 
986
986
  def __init__(
@@ -1188,9 +1188,8 @@ class ILChannelProperty(_AutoAccessor):
1188
1188
  스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 가능/재기동 불필요.
1189
1189
  timeout (int): 연결 타임아웃(**초**). ``-1`` 이면 무제한. 기본 30.
1190
1190
  스펙: 기본 30 · 범위 -1 또는 1~2147483647 · 단위 초 · 변경 가능/재기동 불필요.
1191
- rtt (int):
1192
- 스펙: 기본 -1 · 범위 -1~2147483647 (-1=미측정) · 단위 밀리초 · 변경 불가(ReadOnly). **읽기 전용** 왕복 지연(밀리초). 측정 전이면 ``-1``.
1193
- 스펙: 기본 -1 · 단위 밀리초 · 변경 불가.
1191
+ rtt (int): **읽기 전용** 왕복 지연(밀리초). 측정 전이면 ``-1``.
1192
+ 스펙: 기본 -1 · 범위 -1~2147483647 (-1=미측정) · 단위 밀리초 · 변경 불가(ReadOnly).
1194
1193
  traceEnabled (bool): 이 채널의 트레이스 여부. 기본 False.
1195
1194
  스펙: 기본 OFF · 범위 ON | OFF · 변경 가능/재기동 불필요.
1196
1195
  security (ILChannelSecurity): 보안 방식. 기본 ``NONE``.
@@ -1202,12 +1201,11 @@ class ILChannelProperty(_AutoAccessor):
1202
1201
  balanceMode (ILChannelBalanceMode): 분산 방식. ``ROUND_ROBIN``(기본) /
1203
1202
  ``QUEUE_DEPTH`` / ``ACTIVE_STANDBY``. ``destGroup`` 이 있을 때만 의미가 있다.
1204
1203
  스펙: 기본 ROUND_ROBIN · 범위 ROUND.ROBIN | ACTIVE.STANDBY | QUEUE.DEPTH · 변경 가능/재기동 불필요.
1205
- destGroup (list[DestItem]):
1206
- 스펙: 기본 빈 목록 · 범위 대상 수만큼 · 변경 가능/채널 정지 필요. 분산 대상 목록. 비어 있으면 단일 대상 채널이다.
1204
+ destGroup (list[DestItem]): 분산 대상 목록. 비어 있으면 단일 대상 채널이다.
1207
1205
  :meth:`add_dest` / :meth:`remove_dest` 로 다룬다.
1208
- 스펙: 변경 가능/재기동 불필요.
1209
- destGroupBufferLength (int):
1210
- 스펙: 기본 0 · 범위 직렬화가 계산 · 앱이 건드리지 않는다. **직렬화용 내부 길이 필드.** 직접 건드리지 않는다.
1206
+ 스펙: 기본 빈 목록 · 범위 대상 수만큼 · 변경 가능/채널 정지 필요.
1207
+ destGroupBufferLength (int): **직렬화용 내부 길이 필드.** 직접 건드리지 않는다.
1208
+ 스펙: 기본 0 · 범위 직렬화가 계산 · 앱이 건드리지 않는다.
1211
1209
 
1212
1210
  Note:
1213
1211
  와이어에는 ``ThreadCount`` / ``CommitCount`` 자리가 남아 있지만 **서버가
@@ -1437,14 +1435,16 @@ class ILChannelProperty(_AutoAccessor):
1437
1435
  """연결 타임아웃을 설정한다.
1438
1436
 
1439
1437
  Args:
1440
- sec (int): 타임아웃(**초**). ``-1`` 이면 무제한.
1438
+ sec (int): 타임아웃(**초**). ``-1`` 이면 무제한, 그 밖에는 **1 이상**.
1439
+ ``0`` 은 거부된다.
1441
1440
 
1442
1441
  Raises:
1443
- UnsupportedOperationException: ``-1`` 미만일 때.
1442
+ UnsupportedOperationException: ``-1`` 도 아니고 1 미만일 때.
1444
1443
  """
1445
- if sec < -1:
1444
+ if sec != -1 and sec < 1:
1446
1445
  raise UnsupportedOperationException(
1447
- f"[{sec}] is an unacceptable value. (acceptable value range: -1~)"
1446
+ f"[{sec}] is an unacceptable value."
1447
+ " (acceptable value range: -1 for infinite, or 1 or greater)"
1448
1448
  )
1449
1449
  self.timeout = sec
1450
1450
 
@@ -1765,17 +1765,17 @@ class ILSecureFileProperty(_AutoAccessor):
1765
1765
  """서버에 보관된 보안 파일(인증서/키)의 **메타데이터.** 내용은 담기지 않는다.
1766
1766
 
1767
1767
  Attributes:
1768
- name (str):
1769
- 스펙: 기본 "" · 범위 255바이트 이하 문자열 · 변경 불가(ReadOnly). 파일 이름. 기본 ``""``.
1770
- date (str):
1771
- 스펙: 기본 "" · 범위 "YYYY-MM-DD HH:MM:SS" · 변경 불가(ReadOnly). 등록 일시 문자열. 기본 ``""``.
1772
- size (int):
1773
- 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly). 파일 크기(바이트). 기본 0.
1774
- keyStatus (str):
1775
- 스펙: 기본 "" · 범위 "NotFound" | "Exist" | "" · 변경 불가(ReadOnly). 키 비밀번호 등록 상태. **``.key`` 파일에만 채워진다** -
1768
+ name (str): 파일 이름. 기본 ``""``.
1769
+ 스펙: 기본 "" · 범위 255바이트 이하 문자열 · 변경 불가(ReadOnly).
1770
+ date (str): 등록 일시 문자열. 기본 ``""``.
1771
+ 스펙: 기본 "" · 범위 "YYYY-MM-DD HH:MM:SS" · 변경 불가(ReadOnly).
1772
+ size (int): 파일 크기(바이트). 기본 0.
1773
+ 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly).
1774
+ keyStatus (str): 키 비밀번호 등록 상태. **``.key`` 파일에만 채워진다** -
1776
1775
  ``"NotFound"`` (비밀번호 미설정, 서버에 ``.prof`` 없음) /
1777
1776
  ``"Exist"`` (설정됨). 다른 확장자는 항상 빈 문자열이다.
1778
1777
  기본 ``""``. (rev 3291 실측)
1778
+ 스펙: 기본 "" · 범위 "NotFound" | "Exist" | "" · 변경 불가(ReadOnly).
1779
1779
  """
1780
1780
 
1781
1781
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -1871,30 +1871,30 @@ class ILQueueRealTimeInfo(_AutoAccessor):
1871
1871
  기준으로 담고 있다.
1872
1872
 
1873
1873
  Attributes:
1874
- curDepth (int):
1875
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 현재 깊이(메시지 수). 기본 0.
1876
- openTime (int):
1877
- 스펙: 기본 0 · 범위 0 이상 · 단위 epoch 밀리초 · 변경 불가(ReadOnly). 큐가 열린 시각(epoch 밀리초). 기본 0.
1878
- lastPutTime (int):
1879
- 스펙: 기본 0 · 범위 0 이상 (엔진 6.3.3+ 는 항상 0) · 단위 epoch 밀리초 · 변경 불가(ReadOnly). 마지막 put 시각(epoch 밀리초). **엔진 6.3.3+ 는 항상 0**.
1880
- lastGetTime (int):
1881
- 스펙: 기본 0 · 범위 0 이상 (엔진 6.3.3+ 는 항상 0) · 단위 epoch 밀리초 · 변경 불가(ReadOnly). 마지막 get 시각(epoch 밀리초). **엔진 6.3.3+ 는 항상 0**.
1882
- lastPutClient (str):
1883
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 (엔진 6.3.3+ 는 항상 "") · 변경 불가(ReadOnly). 마지막으로 put 한 클라이언트 이름.
1874
+ curDepth (int): 현재 깊이(메시지 수). 기본 0.
1875
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
1876
+ openTime (int): 큐가 열린 시각(epoch 밀리초). 기본 0.
1877
+ 스펙: 기본 0 · 범위 0 이상 · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
1878
+ lastPutTime (int): 마지막 put 시각(epoch 밀리초). **엔진 6.3.3+ 는 항상 0**.
1879
+ 스펙: 기본 0 · 범위 0 이상 (엔진 6.3.3+ 는 항상 0) · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
1880
+ lastGetTime (int): 마지막 get 시각(epoch 밀리초). **엔진 6.3.3+ 는 항상 0**.
1881
+ 스펙: 기본 0 · 범위 0 이상 (엔진 6.3.3+ 는 항상 0) · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
1882
+ lastPutClient (str): 마지막으로 put 한 클라이언트 이름.
1884
1883
  **엔진 6.3.3+ 는 항상** ``""``.
1885
- lastGetClient (str):
1886
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 (엔진 6.3.3+ 는 항상 "") · 변경 불가(ReadOnly). 마지막으로 get 한 클라이언트 이름.
1884
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 (엔진 6.3.3+ 는 항상 "") · 변경 불가(ReadOnly).
1885
+ lastGetClient (str): 마지막으로 get 한 클라이언트 이름.
1887
1886
  **엔진 6.3.3+ 는 항상** ``""``.
1888
- numberOfClient (int):
1889
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 이 큐를 열고 있는 클라이언트 수. 기본 0.
1890
- numberOfChannel (int):
1891
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 이 큐를 열고 있는 채널 수. 기본 0.
1892
- uncommittedPut (int):
1893
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 아직 커밋되지 않은 put 건수. 기본 0.
1894
- uncommittedGet (int):
1895
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 아직 커밋되지 않은 get 건수. 기본 0.
1896
- partitions (list[PartitionItem]):
1897
- 스펙: 기본 빈 목록 · 범위 파티션 수만큼 · 변경 불가(ReadOnly). 파티션별 상세. 기본 빈 목록.
1887
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 (엔진 6.3.3+ 는 항상 "") · 변경 불가(ReadOnly).
1888
+ numberOfClient (int): 이 큐를 열고 있는 클라이언트 수. 기본 0.
1889
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
1890
+ numberOfChannel (int): 이 큐를 열고 있는 채널 수. 기본 0.
1891
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
1892
+ uncommittedPut (int): 아직 커밋되지 않은 put 건수. 기본 0.
1893
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
1894
+ uncommittedGet (int): 아직 커밋되지 않은 get 건수. 기본 0.
1895
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
1896
+ partitions (list[PartitionItem]): 파티션별 상세. 기본 빈 목록.
1897
+ 스펙: 기본 빈 목록 · 범위 파티션 수만큼 · 변경 불가(ReadOnly).
1898
1898
  """
1899
1899
 
1900
1900
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -2072,16 +2072,16 @@ class ILQueueFlow(_AutoAccessor):
2072
2072
  """큐의 유입/유출량 스냅샷 하나.
2073
2073
 
2074
2074
  Attributes:
2075
- incomingMsgCount (int):
2076
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 유입 메시지 수. 기본 0.
2077
- outgoingMsgCount (int):
2078
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 유출 메시지 수. 기본 0.
2079
- incomingDataSize (int):
2080
- 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly). 유입 바이트. 기본 0.
2081
- outgoingDataSize (int):
2082
- 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly). 유출 바이트. 기본 0.
2083
- depth (int):
2084
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 이 시점의 큐 깊이. 기본 0.
2075
+ incomingMsgCount (int): 유입 메시지 수. 기본 0.
2076
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
2077
+ outgoingMsgCount (int): 유출 메시지 수. 기본 0.
2078
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
2079
+ incomingDataSize (int): 유입 바이트. 기본 0.
2080
+ 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly).
2081
+ outgoingDataSize (int): 유출 바이트. 기본 0.
2082
+ 스펙: 기본 0 · 범위 0 이상 · 단위 byte · 변경 불가(ReadOnly).
2083
+ depth (int): 이 시점의 큐 깊이. 기본 0.
2084
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
2085
2085
  """
2086
2086
 
2087
2087
  def __init__(
@@ -2179,16 +2179,16 @@ class ILQmgrMinorProperty(_AutoAccessor):
2179
2179
  """큐 관리자 **요약** 정보. 목록 조회가 돌려주는 가벼운 형태.
2180
2180
 
2181
2181
  Attributes:
2182
- name (str):
2183
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 큐 관리자 이름. 기본 ``""``.
2184
- status (int):
2185
- 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING · 변경 불가(ReadOnly). 상태. :data:`ILC.MIMQ_STOPPED`(기본) /
2182
+ name (str): 큐 관리자 이름. 기본 ``""``.
2183
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
2184
+ status (int): 상태. :data:`ILC.MIMQ_STOPPED`(기본) /
2186
2185
  :data:`ILC.MIMQ_RUNNING` / :data:`ILC.MIMQ_STARTING` /
2187
2186
  :data:`ILC.MIMQ_STOPPING`.
2188
- port (int):
2189
- 스펙: 기본 -1 · 범위 1025~65535 · 변경 불가(ReadOnly). 리스너 포트. 기본 ``-1``.
2190
- autoStart (bool):
2191
- 스펙: 기본 AUTO · 범위 AUTO | MANUAL · 변경 불가(ReadOnly) (본체 속성으로 바꾼다). 서버 기동 시 함께 뜰지. 기본 True.
2187
+ 스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING · 변경 불가(ReadOnly).
2188
+ port (int): 리스너 포트. 기본 ``-1``.
2189
+ 스펙: 기본 -1 · 범위 1025~65535 · 변경 불가(ReadOnly).
2190
+ autoStart (bool): 서버 기동 시 함께 뜰지. 기본 True.
2191
+ 스펙: 기본 AUTO · 범위 AUTO | MANUAL · 변경 불가(ReadOnly) (본체 속성으로 바꾼다).
2192
2192
  """
2193
2193
 
2194
2194
  def __init__(
@@ -2271,9 +2271,8 @@ class ILQmgrProperty(_AutoAccessor):
2271
2271
  스펙: 기본 STOPPED · 범위 STOPPED | RUNNING | STARTING | STOPPING · 변경 불가.
2272
2272
  version (str): **읽기 전용** 엔진 버전. 기본 ``""``.
2273
2273
  스펙: 변경 불가.
2274
- startedTimestamp (int):
2275
- 스펙: 기본 0 · 범위 0 이상 (0=기동 전) · 단위 epoch 밀리초 · 변경 불가(ReadOnly). **읽기 전용** 기동 시각(epoch 밀리초). 기본 0.
2276
- 스펙: 기본 0 · 단위 밀리초 · 변경 불가.
2274
+ startedTimestamp (int): **읽기 전용** 기동 시각(epoch 밀리초). 기본 0.
2275
+ 스펙: 기본 0 · 범위 0 이상 (0=기동 전) · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
2277
2276
  port (int): 리스너 포트. 기본 19998. **ilsvc.xml 을 직접 고쳐야 바뀐다**
2278
2277
  (서비스 내 중복 불가).
2279
2278
  스펙: 기본 19998 · 범위 1025~65535 · 변경 불가.
@@ -2301,9 +2300,9 @@ class ILQmgrProperty(_AutoAccessor):
2301
2300
  channelRetryTimeInterval (int): 채널 재시도 간격(초). 기본 5.
2302
2301
  스펙: 기본 5 · 범위 1~86400 · 단위 초 · 변경 가능/재기동 불필요.
2303
2302
  connectTimeout (int): 접속 타임아웃(초). ``-1``(기본)이면 무제한.
2304
- 스펙: 기본 -1 · 범위 -1~2147483647 (초) · 변경 불가.
2303
+ 스펙: 기본 -1 · 범위 -1~2147483647 · 단위 초 · 변경 불가.
2305
2304
  acceptWaitTimeout (int): accept 대기(초). ``-1``(기본)이면 무제한.
2306
- 스펙: 기본 -1 · 범위 -1~2147483647 (초) · 변경 불가.
2305
+ 스펙: 기본 -1 · 범위 -1~2147483647 · 단위 초 · 변경 불가.
2307
2306
  sendTimeout (int): 송신 타임아웃(초). 기본 60.
2308
2307
  스펙: 기본 60 · 범위 1~864000 · 단위 초 · 변경 가능/재기동 불필요.
2309
2308
  recvWaitTimeout (int): 수신 대기(초). 기본 86400(1일).
@@ -2320,9 +2319,9 @@ class ILQmgrProperty(_AutoAccessor):
2320
2319
  deadSessionKeepDuration (int): 끊긴 세션 정보 보관(초). 기본 600.
2321
2320
  **0 이면 계속 보관**한다.
2322
2321
  스펙: 기본 600 · 범위 0~2147483647 (0=무기한) · 단위 초 · 변경 가능/재기동 불필요.
2323
- deadSessionMaxCount (int): 끊긴 세션 보관 최대 수. 기본 10.
2322
+ deadSessionMaxCount (int): 끊긴 세션 보관 최대 수. 기본 1000.
2324
2323
  **0 이면 보관하지 않는다.**
2325
- 스펙: 기본 10 · 범위 0~2147483647 (0=보관 안 함) · 변경 가능/재기동 불필요.
2324
+ 스펙: 기본 1000 · 범위 0~2147483647 (0=보관 안 함) · 단위 건 · 변경 가능/재기동 불필요.
2326
2325
  logLevelSystem (int): 시스템 로그 레벨. 기본 4(WARNING).
2327
2326
  :data:`ILC.MIMQ_TRACE`(0) ~ :data:`ILC.MIMQ_SYSTEM`(7).
2328
2327
  스펙: 기본 WARN · 범위 TRACE(0) | DEBUG(1) | MSG(2) | INFO(3) | WARN(4) | ERROR(5) | FATAL(6) | SYSTEM(7) · 변경 가능/재기동 불필요.
@@ -2341,20 +2340,20 @@ class ILQmgrProperty(_AutoAccessor):
2341
2340
  logFileSizeChannel (int): 채널 로그 회전 크기. 기본 4194304.
2342
2341
  스펙: 기본 4194304 · 범위 1048576~104857600 · 단위 byte · 변경 가능/재기동 불필요.
2343
2342
  logFileCountSystem (int): 시스템 로그 보관 개수. 기본 5.
2344
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
2343
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
2345
2344
  logFileCountClient (int): 클라이언트 로그 보관 개수. 기본 5.
2346
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
2345
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
2347
2346
  logFileCountQueue (int): 큐 로그 보관 개수. 기본 5.
2348
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
2347
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
2349
2348
  logFileCountChannel (int): 채널 로그 보관 개수. 기본 5.
2350
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
2349
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
2351
2350
  logLevelTopic (int): 토픽 로그 레벨. 기본 4. **엔진 rev 3283 이상**.
2352
2351
  스펙: 기본 WARN · 범위 TRACE(0) | DEBUG(1) | MSG(2) | INFO(3) | WARN(4) | ERROR(5) | FATAL(6) | SYSTEM(7) · 변경 가능/재기동 불필요.
2353
2352
  logFileSizeTopic (int): 토픽 로그 회전 크기(바이트). 기본 4194304.
2354
2353
  **엔진 rev 3283 이상**.
2355
- 스펙: 기본 4194304 · 범위 1~2147483647 · 단위 byte · 변경 가능/재기동 불필요.
2354
+ 스펙: 기본 4194304 · 범위 1048576~104857600 · 단위 byte · 변경 가능/재기동 불필요.
2356
2355
  logFileCountTopic (int): 토픽 로그 보관 개수. 기본 5. **엔진 rev 3283 이상**.
2357
- 스펙: 기본 5 · 범위 1~2147483647 · 변경 가능/재기동 불필요.
2356
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
2358
2357
 
2359
2358
  Note:
2360
2359
  로그 설정은 값 범위가 강제된다 - 레벨 0~7, 회전 크기 1048576 이상,
@@ -2417,7 +2416,7 @@ class ILQmgrProperty(_AutoAccessor):
2417
2416
  self.startedTimestamp = 0
2418
2417
  self.statisticsEnabled = True
2419
2418
  self.deadSessionKeepDuration = 600
2420
- self.deadSessionMaxCount = 10
2419
+ self.deadSessionMaxCount = 1000
2421
2420
 
2422
2421
  if isinstance(name, (bytes, bytearray)):
2423
2422
  self._from_bytes(bytes(name))
@@ -2773,14 +2772,16 @@ class ILQmgrProperty(_AutoAccessor):
2773
2772
  :data:`ILC.MIMQ_LOGGER_TYPE_CLIENT`(1) /
2774
2773
  :data:`ILC.MIMQ_LOGGER_TYPE_QUEUE`(2) /
2775
2774
  :data:`ILC.MIMQ_LOGGER_TYPE_CHANNEL`(3).
2776
- value (int): 회전 크기(바이트). **1048576(1MB) 이상**이어야 한다.
2775
+ value (int): 회전 크기(바이트). **1048576(1MB) ~ 104857600(100MB)**
2776
+ 이어야 한다.
2777
2777
 
2778
2778
  Raises:
2779
- UnsupportedOperationException: 1048576 미만이거나 종류가 잘못됐을 때.
2779
+ UnsupportedOperationException: 범위를 벗어나거나 종류가 잘못됐을 때.
2780
2780
  """
2781
- if value < 1048576:
2781
+ if value < 1048576 or value > 104857600:
2782
2782
  raise UnsupportedOperationException(
2783
- f"[{value}] is an unacceptable value. (acceptable value range: 1048576~)"
2783
+ f"[{value}] is an unacceptable value."
2784
+ " (acceptable value range: 1048576~104857600)"
2784
2785
  )
2785
2786
  setattr(self, "logFileSize" + self._log_suffix(logger_type), value)
2786
2787
 
@@ -2807,14 +2808,14 @@ class ILQmgrProperty(_AutoAccessor):
2807
2808
  :data:`ILC.MIMQ_LOGGER_TYPE_CLIENT`(1) /
2808
2809
  :data:`ILC.MIMQ_LOGGER_TYPE_QUEUE`(2) /
2809
2810
  :data:`ILC.MIMQ_LOGGER_TYPE_CHANNEL`(3).
2810
- value (int): 보관 개수. **1 이상**이어야 한다.
2811
+ value (int): 보관 개수. **1~999** 여야 한다.
2811
2812
 
2812
2813
  Raises:
2813
- UnsupportedOperationException: 1 미만이거나 종류가 잘못됐을 때.
2814
+ UnsupportedOperationException: 범위를 벗어나거나 종류가 잘못됐을 때.
2814
2815
  """
2815
- if value < 1:
2816
+ if value < 1 or value > 999:
2816
2817
  raise UnsupportedOperationException(
2817
- f"[{value}] is an unacceptable value. (acceptable value range: 1~)"
2818
+ f"[{value}] is an unacceptable value. (acceptable value range: 1~999)"
2818
2819
  )
2819
2820
  setattr(self, "logFileCount" + self._log_suffix(logger_type), value)
2820
2821
 
@@ -2993,16 +2994,16 @@ class ILSessionMinorProperty(_AutoAccessor):
2993
2994
  """세션 **요약** 정보. 목록 조회가 돌려주는 가벼운 형태.
2994
2995
 
2995
2996
  Attributes:
2996
- id (str):
2997
- 스펙: 기본 "" · 범위 8자리 숫자 문자열 · 변경 불가(ReadOnly). 세션 식별자(8자리 숫자 문자열). 기본 ``""``.
2998
- status (int):
2999
- 스펙: 기본 1 · 범위 세션 상태 코드 · 변경 불가(ReadOnly). 세션 상태 코드. 기본 1.
3000
- peer (str):
3001
- 스펙: 기본 "" · 범위 "host:port" · 변경 불가(ReadOnly). 상대 주소. 기본 ``""``.
3002
- clientName (str):
3003
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 클라이언트 이름. 기본 ``""``.
3004
- clientType (str):
3005
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 클라이언트 종류. 기본 ``""``.
2997
+ id (str): 세션 식별자(8자리 숫자 문자열). 기본 ``""``.
2998
+ 스펙: 기본 "" · 범위 8자리 숫자 문자열 · 변경 불가(ReadOnly).
2999
+ status (int): 세션 상태 코드. 기본 1.
3000
+ 스펙: 기본 1 · 범위 세션 상태 코드 · 변경 불가(ReadOnly).
3001
+ peer (str): 상대 주소. 기본 ``""``.
3002
+ 스펙: 기본 "" · 범위 "host:port" · 변경 불가(ReadOnly).
3003
+ clientName (str): 클라이언트 이름. 기본 ``""``.
3004
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
3005
+ clientType (str): 클라이언트 종류. 기본 ``""``.
3006
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
3006
3007
  """
3007
3008
 
3008
3009
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -3091,13 +3092,11 @@ class ILSessionProperty(_AutoAccessor):
3091
3092
  스펙: 기본 "" · 변경 불가.
3092
3093
  peerPort (int): 상대 포트. 기본 0.
3093
3094
  스펙: 기본 0 · 범위 0~65535 · 변경 불가.
3094
- createdTime (int):
3095
- 스펙: 기본 0 · 범위 0 이상 · 단위 epoch 밀리초 · 변경 불가(ReadOnly). 접속 시각(내부 형식). 기본 0.
3095
+ createdTime (int): 접속 시각(내부 형식). 기본 0.
3096
3096
  :meth:`get_created_time` 으로 읽는 편이 낫다.
3097
- 스펙: 기본 0 · 단위 밀리초 · 변경 불가.
3098
- destroyedTime (int):
3099
- 스펙: 기본 0 · 범위 0 이상 (0=아직 살아 있음) · 단위 epoch 밀리초 · 변경 불가(ReadOnly). 종료 시각(내부 형식). 살아 있으면 0.
3100
- 스펙: 기본 0 · 단위 밀리초 · 변경 불가.
3097
+ 스펙: 기본 0 · 범위 0 이상 · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
3098
+ destroyedTime (int): 종료 시각(내부 형식). 살아 있으면 0.
3099
+ 스펙: 기본 0 · 범위 0 이상 (0=아직 살아 있음) · 단위 epoch 밀리초 · 변경 불가(ReadOnly).
3101
3100
  transacted (bool): 트랜잭션 세션인지. 기본 False.
3102
3101
  스펙: 기본 False · 범위 True | False · 변경 불가.
3103
3102
  autoCommit (bool): 자동 커밋 세션인지. 기본 False.
@@ -3105,17 +3104,17 @@ class ILSessionProperty(_AutoAccessor):
3105
3104
  lastAccessObject (str): 마지막으로 건드린 객체 이름. 기본 ``""``.
3106
3105
  스펙: 기본 "" · 변경 불가.
3107
3106
  totalPutCount (int): 누적 put 건수. 기본 0.
3108
- 스펙: 기본 0 · 범위 0~ · 변경 불가.
3107
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가.
3109
3108
  totalGetCount (int): 누적 get 건수. 기본 0.
3110
- 스펙: 기본 0 · 범위 0~ · 변경 불가.
3109
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가.
3111
3110
  totalPutSize (int): 누적 put 바이트. 기본 0.
3112
3111
  스펙: 기본 0 · 범위 0~ · 단위 byte · 변경 불가.
3113
3112
  totalGetSize (int): 누적 get 바이트. 기본 0.
3114
3113
  스펙: 기본 0 · 범위 0~ · 단위 byte · 변경 불가.
3115
3114
  countPutting (int): 진행 중(미커밋) put 건수. 기본 0.
3116
- 스펙: 기본 0 · 범위 0~ · 변경 불가.
3115
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가.
3117
3116
  countGetting (int): 진행 중(미커밋) get 건수. 기본 0.
3118
- 스펙: 기본 0 · 범위 0~ · 변경 불가.
3117
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가.
3119
3118
  sizePutting (int): 진행 중 put 바이트. 기본 0.
3120
3119
  스펙: 기본 0 · 범위 0~ · 단위 byte · 변경 불가.
3121
3120
  sizeGetting (int): 진행 중 get 바이트. 기본 0.
@@ -3416,9 +3415,9 @@ class ILServiceProperty(_AutoAccessor):
3416
3415
  logFileSizeClient (int): 클라이언트 로그 회전 크기. 기본 4194304.
3417
3416
  스펙: 기본 4194304 · 범위 1048576~104857600 · 단위 byte · 변경 가능/재기동 불필요.
3418
3417
  logFileCountSystem (int): 시스템 로그 보관 개수. 기본 5.
3419
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
3418
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
3420
3419
  logFileCountClient (int): 클라이언트 로그 보관 개수. 기본 5.
3421
- 스펙: 기본 5 · 범위 1~999 · 변경 가능/재기동 불필요.
3420
+ 스펙: 기본 5 · 범위 1~999 · 단위 개 · 변경 가능/재기동 불필요.
3422
3421
  """
3423
3422
 
3424
3423
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -3627,14 +3626,15 @@ class ILServiceProperty(_AutoAccessor):
3627
3626
  """소켓 송신 타임아웃을 설정한다.
3628
3627
 
3629
3628
  Args:
3630
- sec (int): 타임아웃(**초**). ``-1`` 이면 무제한.
3629
+ sec (int): 타임아웃(**초**). **1~864000**.
3630
+ 엔진 rev 3283(TMOGUARD-1) 부터 ``-1``(무제한)과 ``0`` 은 거부된다.
3631
3631
 
3632
3632
  Raises:
3633
- UnsupportedOperationException: ``-1`` 미만일 때.
3633
+ UnsupportedOperationException: 1~864000 을 벗어날 때.
3634
3634
  """
3635
- if sec < -1:
3635
+ if sec < 1 or sec > 864000:
3636
3636
  raise UnsupportedOperationException(
3637
- f"[{sec}] is an unacceptable value. (acceptable value range: -1~)"
3637
+ f"[{sec}] is an unacceptable value. (acceptable value range: 1~864000)"
3638
3638
  )
3639
3639
  self.timeoutSocketSend = sec
3640
3640
 
@@ -3642,14 +3642,15 @@ class ILServiceProperty(_AutoAccessor):
3642
3642
  """소켓 수신 타임아웃을 설정한다.
3643
3643
 
3644
3644
  Args:
3645
- sec (int): 타임아웃(**초**). ``-1`` 이면 무제한.
3645
+ sec (int): 타임아웃(**초**). **1~864000**.
3646
+ 엔진 rev 3283(TMOGUARD-1) 부터 ``-1``(무제한)과 ``0`` 은 거부된다.
3646
3647
 
3647
3648
  Raises:
3648
- UnsupportedOperationException: ``-1`` 미만일 때.
3649
+ UnsupportedOperationException: 1~864000 을 벗어날 때.
3649
3650
  """
3650
- if sec < -1:
3651
+ if sec < 1 or sec > 864000:
3651
3652
  raise UnsupportedOperationException(
3652
- f"[{sec}] is an unacceptable value. (acceptable value range: -1~)"
3653
+ f"[{sec}] is an unacceptable value. (acceptable value range: 1~864000)"
3653
3654
  )
3654
3655
  self.timeoutSocketRecv = sec
3655
3656
 
@@ -3714,14 +3715,16 @@ class ILServiceProperty(_AutoAccessor):
3714
3715
  Args:
3715
3716
  logger_type (int): 로거 종류. :data:`ILC.MIMQ_LOGGER_TYPE_SYSTEM`(0) 또는
3716
3717
  :data:`ILC.MIMQ_LOGGER_TYPE_CLIENT`(1). 서비스는 이 둘뿐이다.
3717
- value (int): 회전 크기(바이트). **1048576(1MB) 이상**이어야 한다.
3718
+ value (int): 회전 크기(바이트). **1048576(1MB) ~ 104857600(100MB)**
3719
+ 이어야 한다.
3718
3720
 
3719
3721
  Raises:
3720
- UnsupportedOperationException: 1048576 미만이거나 종류가 잘못됐을 때.
3722
+ UnsupportedOperationException: 범위를 벗어나거나 종류가 잘못됐을 때.
3721
3723
  """
3722
- if value < 1048576:
3724
+ if value < 1048576 or value > 104857600:
3723
3725
  raise UnsupportedOperationException(
3724
- f"[{value}] is an unacceptable value. (acceptable value range: 1048576~)"
3726
+ f"[{value}] is an unacceptable value."
3727
+ " (acceptable value range: 1048576~104857600)"
3725
3728
  )
3726
3729
  setattr(self, "logFileSize" + self._log_suffix(logger_type), value)
3727
3730
 
@@ -3744,14 +3747,14 @@ class ILServiceProperty(_AutoAccessor):
3744
3747
  Args:
3745
3748
  logger_type (int): 로거 종류. :data:`ILC.MIMQ_LOGGER_TYPE_SYSTEM`(0) 또는
3746
3749
  :data:`ILC.MIMQ_LOGGER_TYPE_CLIENT`(1). 서비스는 이 둘뿐이다.
3747
- value (int): 보관 개수. **1 이상**이어야 한다.
3750
+ value (int): 보관 개수. **1~999** 여야 한다.
3748
3751
 
3749
3752
  Raises:
3750
- UnsupportedOperationException: 1 미만이거나 종류가 잘못됐을 때.
3753
+ UnsupportedOperationException: 범위를 벗어나거나 종류가 잘못됐을 때.
3751
3754
  """
3752
- if value < 1:
3755
+ if value < 1 or value > 999:
3753
3756
  raise UnsupportedOperationException(
3754
- f"[{value}] is an unacceptable value. (acceptable value range: 1~)"
3757
+ f"[{value}] is an unacceptable value. (acceptable value range: 1~999)"
3755
3758
  )
3756
3759
  setattr(self, "logFileCount" + self._log_suffix(logger_type), value)
3757
3760
 
@@ -3815,6 +3818,13 @@ class ILProxyProperty(_AutoAccessor):
3815
3818
  구조 항목(``port`` / ``destIp`` / ``destPort``)은 리스닝 소켓과 목적지가 바뀌는
3816
3819
  것이라 **프록시를 정지한 뒤**에 바꿔야 하고, 실제 적용도 다음 기동부터다.
3817
3820
 
3821
+ Note:
3822
+ 기동 중인 프록시는 목적지 생존을 확인하려고 **60초마다 목적지에 직접 붙어
3823
+ 본다**(엔진 7.0.1.3350 이상. 그 이전은 서비스가 10초마다 프록시 리스닝
3824
+ 포트에 붙었고 그게 목적지까지 이어졌다). 목적지가 또 다른 ilink 오브젝트면
3825
+ **그쪽 접속 통계·접속 로그에 60초 간격 연결이 잡힌다** - 정상이고 끌 수
3826
+ 없다. 트래픽 없이 목적지 장애를 알려면 실제로 붙어 보는 수밖에 없다.
3827
+
3818
3828
  Attributes:
3819
3829
  name (str): 프록시 이름. 기본 ``""``.
3820
3830
  스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가.
@@ -3837,7 +3847,7 @@ class ILProxyProperty(_AutoAccessor):
3837
3847
  엔진 7.0.1.3350 이상은 그 연결이 **5분에 한 번**이라 사실상 안 걸리지만,
3838
3848
  그 이전은 **10초마다**여서 유휴 프록시가 1 로 보이는 구간이 흔했다.
3839
3849
  정확한 동시 접속 수가 필요하면 이 값에 기대지 말 것.
3840
- 스펙: 기본 0 · 범위 0~2147483647 · 변경 불가.
3850
+ 스펙: 기본 0 · 범위 0~2147483647 · 단위 건 · 변경 불가.
3841
3851
  status (int): **읽기 전용** 상태. 기본 :data:`ILC.MIMQ_STOPPED`.
3842
3852
  ERROR 는 대부분 **목적지 불통**을 뜻한다. **프록시가 고장난 것이
3843
3853
  아니라서** 리스닝은 그대로 유지하고 목적지 연결만 빠르게 실패시킨다 -
@@ -4000,15 +4010,17 @@ class ILDiskGuardProperty(_AutoAccessor):
4000
4010
  어긋나기 때문이다. 둘 중 **하나라도** 걸리면 차단하고, 해제는 **둘 다**
4001
4011
  회복되어야 한다.
4002
4012
 
4003
- ``resumePercent`` 는 ``suspendPercent`` **미만**이어야 한다(히스테리시스).
4004
- 같은 값으로 붙여 두면 경계에서 차단/해제가 반복된다.
4013
+ 엔진이 강제하는 상호 제약이 셋 있다 - ``warnPercent`` <= ``suspendPercent``,
4014
+ ``resumePercent`` < ``suspendPercent``(히스테리시스. 같은 값으로 붙여 두면
4015
+ 경계에서 차단/해제가 반복된다), ``resumeMinFreeMB`` >= ``minFreeMB``.
4016
+ 어기면 :meth:`validate` 와 서버가 함께 거절한다.
4005
4017
 
4006
4018
  Attributes:
4007
4019
  enabled (bool): 디스크 가드 사용 여부. 기본 True.
4008
4020
  스펙: 기본 ON · 범위 ON | OFF · 변경 가능/재기동 불필요.
4009
4021
  warnPercent (int): 경고 임계(사용률 %). 여기부터 경고 로그만 남고 쓰기는
4010
4022
  계속된다. 기본 90.
4011
- 스펙: 기본 90 · 범위 1~100 · 단위 % · 변경 가능/재기동 불필요.
4023
+ 스펙: 기본 90 · 범위 1~100 (suspendPercent 이하) · 단위 % · 변경 가능/재기동 불필요.
4012
4024
  suspendPercent (int): 쓰기 차단 임계(사용률 %). 넘으면 쓰기만 막고 연결은
4013
4025
  유지한다(``MIMQE_QMGR_SUSPENDED``). 기본 95.
4014
4026
  스펙: 기본 95 · 범위 1~100 · 단위 % · 변경 가능/재기동 불필요.
@@ -4132,14 +4144,14 @@ class ILSpokeProperty(_AutoAccessor):
4132
4144
  """허브에 연결된 스포크 서버 하나의 정보.
4133
4145
 
4134
4146
  Attributes:
4135
- key (str):
4136
- 스펙: 기본 "" · 범위 36자 UUID · 변경 불가(ReadOnly). 스포크 키(36자). 제거/전환 시 **이 값**을 쓴다. 기본 ``""``.
4137
- name (str):
4138
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly). 스포크 이름. 기본 ``""``.
4139
- peer (str):
4140
- 스펙: 기본 "" · 범위 "host:port" · 변경 불가(ReadOnly). 상대 주소. 기본 ``""``.
4141
- running (bool):
4142
- 스펙: 기본 False · 범위 True | False · 변경 불가(ReadOnly). 살아 있는지. 접근자는 :meth:`isRunning` 이다. 기본 False.
4147
+ key (str): 스포크 키(36자). 제거/전환 시 **이 값**을 쓴다. 기본 ``""``.
4148
+ 스펙: 기본 "" · 범위 36자 UUID · 변경 불가(ReadOnly).
4149
+ name (str): 스포크 이름. 기본 ``""``.
4150
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 · 변경 불가(ReadOnly).
4151
+ peer (str): 상대 주소. 기본 ``""``.
4152
+ 스펙: 기본 "" · 범위 "host:port" · 변경 불가(ReadOnly).
4153
+ running (bool): 살아 있는지. 접근자는 :meth:`isRunning` 이다. 기본 False.
4154
+ 스펙: 기본 False · 범위 True | False · 변경 불가(ReadOnly).
4143
4155
  """
4144
4156
 
4145
4157
  def __init__(self, ba: bytes | bytearray | None = None) -> None:
@@ -4231,26 +4243,26 @@ class ILClusterNode(_AutoAccessor):
4231
4243
  운영자가 다루는 식별자는 qmgrName + host:port 다.
4232
4244
 
4233
4245
  Attributes:
4234
- nodeId (int):
4235
- 스펙: 기본 0 · 범위 1~2147483647 (클러스터 안에서 유일) · 변경 가능/클러스터 정지 필요. 노드 번호. 기본 0. **1 이상이고 클러스터 안에서 유일**해야
4246
+ nodeId (int): 노드 번호. 기본 0. **1 이상이고 클러스터 안에서 유일**해야
4236
4247
  한다(0 은 비클러스터 예약값). :meth:`ILClusterProperty.add_node` 가
4237
4248
  max+1 로 채번하므로 직접 매길 일은 없다. 중복이면 서버가 거부한다
4238
4249
  (**엔진 rev 3323+**).
4239
- host (str):
4240
- 스펙: 기본 "" · 범위 127바이트 이하 문자열 · 변경 가능/클러스터 정지 필요. 노드의 IP 또는 호스트명. 기본 ``""``.
4241
- port (int):
4242
- 스펙: 기본 0 · 범위 1025~65535 · 변경 가능/클러스터 정지 필요. 노드 큐 관리자의 리스너 포트. 기본 0. 심판(witness) 노드일
4250
+ 스펙: 기본 0 · 범위 1~2147483647 (클러스터 안에서 유일) · 변경 가능/클러스터 정지 필요.
4251
+ host (str): 노드의 IP 또는 호스트명. 기본 ``""``.
4252
+ 스펙: 기본 "" · 범위 127바이트 이하 문자열 · 변경 가능/클러스터 정지 필요.
4253
+ port (int): 노드 큐 관리자의 리스너 포트. 기본 0. 심판(witness) 노드일
4243
4254
  때는 **상대 ilcc 포트**를 넣는다. ``host:port`` 조합은 클러스터 안에서
4244
4255
  **유일**해야 한다 - 같은 큐 관리자를 두 번 넣으면 서버가 거부한다
4245
4256
  (**엔진 rev 3323+**).
4246
- status (int):
4247
- 스펙: 기본 0 · 범위 노드 상태 코드 · 변경 불가(ReadOnly). **읽기 전용** 노드 상태. 서버가 채운다. 기본 0.
4248
- qmgrName (str):
4249
- 스펙: 기본 "" · 범위 47바이트 이하 문자열 (빈 값 금지, rev 3319+) · 변경 가능/클러스터 정지 필요. 노드 큐 관리자 이름. 기본 ``""``. **필수 값이다** -
4257
+ 스펙: 기본 0 · 범위 1025~65535 · 변경 가능/클러스터 정지 필요.
4258
+ status (int): **읽기 전용** 노드 상태. 서버가 채운다. 기본 0.
4259
+ 스펙: 기본 0 · 범위 노드 상태 코드 · 변경 불가(ReadOnly).
4260
+ qmgrName (str): 노드 큐 관리자 이름. 기본 ``""``. **필수 값이다** -
4250
4261
  클러스터 기동/정지가 이 이름으로 노드를 찾으므로 비어 있으면 그 노드가
4251
4262
  제어 대상에서 빠진다. 엔진 **rev 3319 부터 빈 이름은 저장이 거부된다.**
4252
4263
  노드 **식별**은 host:port 로 한다(이름 중복은 막지 않는다 - HA 는 양
4253
4264
  노드 이름이 같은 구성이 정상이다).
4265
+ 스펙: 기본 "" · 범위 47바이트 이하 문자열 (빈 값 금지, rev 3319+) · 변경 가능/클러스터 정지 필요.
4254
4266
  """
4255
4267
 
4256
4268
  def __init__(self, ba: bytes | bytearray | None = None,
@@ -4332,15 +4344,15 @@ class ILClusterControlResult(_AutoAccessor):
4332
4344
  놓친다.**
4333
4345
 
4334
4346
  Attributes:
4335
- controlled (int):
4336
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 실제로 제어된 노드 수. 기본 0.
4337
- skipped (int):
4338
- 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly). 제어 대상에서 빠진 노드 수. 기본 0. **0 이 아니면 확인하라.**
4339
- skippedNodes (list[str]):
4340
- 스펙: 기본 빈 목록 · 범위 "host:port" 문자열 목록 · 변경 불가(ReadOnly). 빠진 노드 주소 목록(``"호스트:포트"``). 기본 빈 목록.
4341
- known (bool):
4342
- 스펙: 기본 False · 범위 True | False · 변경 불가(ReadOnly). 엔진이 집계를 실어 보냈는지. ``False`` 면 **rev 3317 미만이라
4347
+ controlled (int): 실제로 제어된 노드 수. 기본 0.
4348
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
4349
+ skipped (int): 제어 대상에서 빠진 노드 수. 기본 0. **0 이 아니면 확인하라.**
4350
+ 스펙: 기본 0 · 범위 0 이상 · 단위 건 · 변경 불가(ReadOnly).
4351
+ skippedNodes (list[str]): 빠진 노드 주소 목록(``"호스트:포트"``). 기본 빈 목록.
4352
+ 스펙: 기본 빈 목록 · 범위 "host:port" 문자열 목록 · 변경 불가(ReadOnly).
4353
+ known (bool): 엔진이 집계를 실어 보냈는지. ``False`` 면 **rev 3317 미만이라
4343
4354
  알 수 없다**는 뜻이지 "빠진 노드가 없다"는 뜻이 아니다.
4355
+ 스펙: 기본 False · 범위 True | False · 변경 불가(ReadOnly).
4344
4356
 
4345
4357
  Note:
4346
4358
  엔진이 이 값을 채워 주는 것은 **rev 3317 부터**다. 그 전 엔진은 응답에
@@ -4428,7 +4440,7 @@ class ILClusterProperty(_AutoAccessor):
4428
4440
  heartbeatIntervalMs (int): 하트비트 주기(**밀리초**). 기본 1000.
4429
4441
  스펙: 기본 1000 · 범위 100~2147483647 · 단위 밀리초 · 변경 가능/재기동 필요.
4430
4442
  heartbeatMissCount (int): 연속 미수신 몇 번을 사망으로 볼지. 기본 5.
4431
- 스펙: 기본 5 · 범위 1~99 · 변경 가능/재기동 필요.
4443
+ 스펙: 기본 5 · 범위 1~99 · 단위 회 · 변경 가능/재기동 필요.
4432
4444
  electionDelayMs (int): 사망 판정 후 승격까지 지연(**밀리초**). 기본 3000.
4433
4445
  플래핑을 막는 값이다.
4434
4446
  스펙: 기본 3000 · 범위 0~2147483647 · 단위 밀리초 · 변경 가능/재기동 필요.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jetstream-api
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: Python client API for iLink M.O.M. (Message Oriented Middleware)
5
5
  Author: snowjeans
6
6
  License: Boost Software License - Version 1.0 - August 17th, 2003
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jetstream-api"
7
- version = "0.5.0"
7
+ version = "0.5.2"
8
8
  description = "Python client API for iLink M.O.M. (Message Oriented Middleware)"
9
9
  authors = [{name = "snowjeans"}]
10
10
  readme = "README.md"
File without changes
File without changes
File without changes