jetstream-api 0.1.1__tar.gz → 0.1.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jetstream-api
3
- Version: 0.1.1
3
+ Version: 0.1.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.1.0"
3
+ __version__ = "0.1.2"
4
4
 
5
5
  # --- Admin / Service ---
6
6
  from .admin import ILAdminService, ILAdminQmgr, ILLogBrowser, ILQueueBrowser
@@ -924,6 +924,34 @@ class ILAdminService:
924
924
  except Exception as exc:
925
925
  raise ILException(exc) from exc
926
926
 
927
+ def removeSpoke(self, spokeKey: str) -> None:
928
+ """Remove a spoke connection from the service.
929
+
930
+ Args:
931
+ spokeKey: The spoke key identifier to remove.
932
+
933
+ Raises:
934
+ ILException: On communication or server-side errors.
935
+
936
+ Example::
937
+
938
+ spokes = service.getSpokeList()
939
+ for sp in spokes:
940
+ if sp.name == "SPOKE_1":
941
+ service.removeSpoke(sp.key)
942
+ break
943
+ """
944
+ try:
945
+ self.service.request(
946
+ ILC.MIMQ_REMOVE_SPOKE,
947
+ ILC.MIMQ_SUCCESSFUL_REMOVE_SPOKE,
948
+ spokeKey,
949
+ )
950
+ except _PASSTHROUGH_EXCEPTIONS:
951
+ raise
952
+ except Exception as exc:
953
+ raise ILException(exc) from exc
954
+
927
955
  def getSecureFileList(self) -> list[ILSecureFileProperty]:
928
956
  """Retrieve the list of secure files stored on the server.
929
957
 
@@ -321,6 +321,7 @@ class ILC:
321
321
  MIMQ_GET_SPOKE_PROPERTY_LIST = 3319
322
322
  MIMQ_SET_SPOKE_CONNECTION = 3320
323
323
  MIMQ_ADD_SPOKE_CONNECTION = 3321
324
+ MIMQ_REMOVE_SPOKE = 3346
324
325
  MIMQ_SET_SECURE_FILE_PWD = 3322
325
326
  MIMQ_COMPARE_SECURE_FILE_PWD = 3323
326
327
  MIMQ_CREATE_LOG_BROWSER_REQUEST = 3324
@@ -517,6 +518,7 @@ class ILC:
517
518
  MIMQ_SUCCESSFUL_SET_SPOKE_CONNECTION = 4236
518
519
  MIMQ_NOT_SUCCESSFUL_SET_SPOKE_CONNECTION = 4237
519
520
  MIMQ_SUCCESSFUL_ADD_SPOKE_CONNECTION = 4238
521
+ MIMQ_SUCCESSFUL_REMOVE_SPOKE = 4268
520
522
  MIMQ_NOT_SUCCESSFUL_ADD_SPOKE_CONNECTION = 4239
521
523
  MIMQ_SUCCESSFUL_SET_SECURE_FILE_PWD = 4240
522
524
  MIMQ_NOT_SUCCESSFUL_SET_SECURE_FILE_PWD = 4241
@@ -1212,9 +1212,8 @@ class ILQmgrProperty(_AutoAccessor):
1212
1212
  self.acceptWaitTimeout = -1
1213
1213
  self.sendTimeout = 10
1214
1214
  self.recvWaitTimeout = 86400
1215
- self.acceptPoolSize = 1
1216
- self.eventPoolSize = 1
1217
- self.sessionPerThread = 10
1215
+ self.volumeMonitorInterval = 300
1216
+ self.volumeMonitorSizeLimit = 104857600
1218
1217
  self.logLevelSystem = 4
1219
1218
  self.logFileSizeSystem = 4194304
1220
1219
  self.logFileCountSystem = 5
@@ -1231,7 +1230,6 @@ class ILQmgrProperty(_AutoAccessor):
1231
1230
  self.aclEnabled = False
1232
1231
  self.aclType = 0
1233
1232
  self.deadLetterQueueName = ILC.MIMQ_DLQ_NAME
1234
- self.useAsync = False
1235
1233
  self.deadSessionKeepDuration = 600
1236
1234
  self.deadSessionMaxCount = 1000
1237
1235
 
@@ -1274,9 +1272,6 @@ class ILQmgrProperty(_AutoAccessor):
1274
1272
  offset += 20
1275
1273
  self.autoStart = start_mode.upper() == "AUTO"
1276
1274
  offset += 23
1277
- tmp = ba_pick_string(ba, offset, 1)
1278
- if tmp:
1279
- self.useAsync = tmp.lower() == "a"
1280
1275
  offset += 2
1281
1276
  tmp = ba_pick_string(ba, offset, 10)
1282
1277
  if tmp:
@@ -1305,11 +1300,12 @@ class ILQmgrProperty(_AutoAccessor):
1305
1300
  offset += 10
1306
1301
  self.recvWaitTimeout = ba_pick_int(ba, offset, 10)
1307
1302
  offset += 10
1308
- self.acceptPoolSize = ba_pick_int(ba, offset, 10)
1309
- offset += 10
1310
- self.eventPoolSize = ba_pick_int(ba, offset, 10)
1303
+ offset += 20
1304
+ self.volumeMonitorInterval = ba_pick_int(ba, offset, 10)
1311
1305
  offset += 10
1312
- offset += 50
1306
+ self.volumeMonitorSizeLimit = ba_pick_long(ba, offset, 20)
1307
+ offset += 20
1308
+ offset += 20
1313
1309
  self.logLevelSystem = ba_pick_int(ba, offset, 2)
1314
1310
  offset += 2
1315
1311
  self.logFileSizeSystem = ba_pick_int(ba, offset, 15)
@@ -1340,7 +1336,6 @@ class ILQmgrProperty(_AutoAccessor):
1340
1336
  offset += 2
1341
1337
  self.aclType = ba_pick_int(ba, offset, 2)
1342
1338
  offset += 2
1343
- self.sessionPerThread = ba_pick_int(ba, offset, 10)
1344
1339
  offset += 10
1345
1340
  self.deadLetterQueueName = ba_pick_string(ba, offset, 32)
1346
1341
  offset += 32
@@ -1365,7 +1360,6 @@ class ILQmgrProperty(_AutoAccessor):
1365
1360
  ba_merge("AUTO" if self.autoStart else "MANUAL", ba, offset)
1366
1361
  offset += 20
1367
1362
  offset += 23
1368
- ba_merge("a" if self.useAsync else "s", ba, offset)
1369
1363
  offset += 2
1370
1364
  ba_merge(self.deadSessionKeepDuration, ba, offset)
1371
1365
  offset += 10
@@ -1384,11 +1378,12 @@ class ILQmgrProperty(_AutoAccessor):
1384
1378
  offset += 10
1385
1379
  ba_merge(self.recvWaitTimeout, ba, offset)
1386
1380
  offset += 10
1387
- ba_merge(self.acceptPoolSize, ba, offset)
1388
- offset += 10
1389
- ba_merge(self.eventPoolSize, ba, offset)
1381
+ offset += 20
1382
+ ba_merge(self.volumeMonitorInterval, ba, offset)
1390
1383
  offset += 10
1391
- offset += 50
1384
+ ba_merge(self.volumeMonitorSizeLimit, ba, offset)
1385
+ offset += 20
1386
+ offset += 20
1392
1387
  ba_merge(self.logLevelSystem, ba, offset)
1393
1388
  offset += 2
1394
1389
  ba_merge(self.logFileSizeSystem, ba, offset)
@@ -1419,7 +1414,6 @@ class ILQmgrProperty(_AutoAccessor):
1419
1414
  offset += 2
1420
1415
  ba_merge(self.aclType, ba, offset)
1421
1416
  offset += 2
1422
- ba_merge(self.sessionPerThread, ba, offset)
1423
1417
  offset += 10
1424
1418
  ba_merge(self.deadLetterQueueName, ba, offset)
1425
1419
  offset += 32
@@ -1459,27 +1453,6 @@ class ILQmgrProperty(_AutoAccessor):
1459
1453
  _validate_log_level(value)
1460
1454
  self.logLevelChannel = value
1461
1455
 
1462
- def set_accept_pool_size(self, size: int) -> None:
1463
- if size < 1 or size > 9:
1464
- raise UnsupportedOperationException(
1465
- f"[{size}] is an unacceptable value. (acceptable value range: 1~9)"
1466
- )
1467
- self.acceptPoolSize = size
1468
-
1469
- def set_event_pool_size(self, size: int) -> None:
1470
- if size < 1 or size > 99:
1471
- raise UnsupportedOperationException(
1472
- f"[{size}] is an unacceptable value. (acceptable value range: 1~99)"
1473
- )
1474
- self.eventPoolSize = size
1475
-
1476
- def set_session_per_thread(self, count: int) -> None:
1477
- if count < 1:
1478
- raise UnsupportedOperationException(
1479
- f"[{count}] is an unacceptable value. (acceptable value range: 1~)"
1480
- )
1481
- self.sessionPerThread = count
1482
-
1483
1456
  def set_acl_type(self, value: int) -> None:
1484
1457
  if value not in (ILC.MIMQ_ACL_BY_BLACKLIST, ILC.MIMQ_ACL_BY_WHITELIST):
1485
1458
  raise UnsupportedOperationException(
@@ -1496,18 +1469,6 @@ class ILQmgrProperty(_AutoAccessor):
1496
1469
  return mp
1497
1470
 
1498
1471
  def __str__(self) -> str:
1499
- if self.useAsync:
1500
- tcp_lsr = (
1501
- "\tTCP-LISTENER(Mode:ASYNC,AcceptPool:"
1502
- + str(self.acceptPoolSize)
1503
- + ", EventPool:"
1504
- + str(self.eventPoolSize)
1505
- + ", SessionPerThread:"
1506
- + str(self.sessionPerThread)
1507
- + ")\n"
1508
- )
1509
- else:
1510
- tcp_lsr = "\tTCP-LISTENER(Mode:SYNC)\n"
1511
1472
  return (
1512
1473
  "\n"
1513
1474
  + "\tNAME(" + self.name + ") STATUS(" + self.get_status_string() + ")\n"
@@ -1524,7 +1485,8 @@ class ILQmgrProperty(_AutoAccessor):
1524
1485
  + "files, " + ILC.get_log_level_string(self.logLevelChannel) + ")\n"
1525
1486
  + "\tCHANNEL-RETRY-INTERVAL(" + str(self.channelRetryTimeInterval)
1526
1487
  + "sec) SOCKET-TIMEOUT(" + str(self.recvWaitTimeout) + ")\n"
1527
- + tcp_lsr
1488
+ + "\tVOLUME-MONITOR(Interval:" + str(self.volumeMonitorInterval)
1489
+ + "sec, SizeLimit:" + str(self.volumeMonitorSizeLimit) + "bytes)\n"
1528
1490
  + "\tACL(" + ("ON" if self.aclEnabled else "OFF") + ") ACL-TYPE(" + self.get_acl_type_string() + ")\n"
1529
1491
  + "\tDEADSESSION(Max " + str(self.deadSessionMaxCount) + "ea, " + str(self.deadSessionKeepDuration) + "sec)\n"
1530
1492
  + "\tVERSION(" + self.version + ")\n"
@@ -1773,8 +1735,6 @@ class ILServiceProperty(_AutoAccessor):
1773
1735
  self.version = ""
1774
1736
  self.timeoutSocketConnect = 10
1775
1737
  self.timeoutSocketRecv = 600
1776
- self.poolSizeAccept = 1
1777
- self.poolSizeEvent = 1
1778
1738
  self.logLevelSystem = 4
1779
1739
  self.logFileSizeSystem = 4194304
1780
1740
  self.logFileCountSystem = 5
@@ -1812,10 +1772,7 @@ class ILServiceProperty(_AutoAccessor):
1812
1772
  offset += 10
1813
1773
  self.timeoutSocketRecv = ba_pick_int(ba, offset, 10)
1814
1774
  offset += 10
1815
- self.poolSizeAccept = ba_pick_int(ba, offset, 10)
1816
- offset += 10
1817
- self.poolSizeEvent = ba_pick_int(ba, offset, 10)
1818
- offset += 10
1775
+ offset += 20
1819
1776
  self.logLevelSystem = ba_pick_int(ba, offset, 2)
1820
1777
  offset += 2
1821
1778
  self.logFileSizeSystem = ba_pick_int(ba, offset, 15)
@@ -1860,10 +1817,7 @@ class ILServiceProperty(_AutoAccessor):
1860
1817
  offset += 10
1861
1818
  ba_merge(self.timeoutSocketRecv, ba, offset)
1862
1819
  offset += 10
1863
- ba_merge(self.poolSizeAccept, ba, offset)
1864
- offset += 10
1865
- ba_merge(self.poolSizeEvent, ba, offset)
1866
- offset += 10
1820
+ offset += 20
1867
1821
  ba_merge(self.logLevelSystem, ba, offset)
1868
1822
  offset += 2
1869
1823
  ba_merge(self.logFileSizeSystem, ba, offset)
@@ -1916,20 +1870,6 @@ class ILServiceProperty(_AutoAccessor):
1916
1870
  f"[{log_type}] is an unacceptable value. (acceptable value list: [0 | 1])"
1917
1871
  )
1918
1872
 
1919
- def set_pool_size_accept(self, size: int) -> None:
1920
- if size < 1 or size > 9:
1921
- raise UnsupportedOperationException(
1922
- f"[{size}] is an unacceptable value. (acceptable value range: 1~9)"
1923
- )
1924
- self.poolSizeAccept = size
1925
-
1926
- def set_pool_size_event(self, size: int) -> None:
1927
- if size < 1 or size > 99:
1928
- raise UnsupportedOperationException(
1929
- f"[{size}] is an unacceptable value. (acceptable value range: 1~99)"
1930
- )
1931
- self.poolSizeEvent = size
1932
-
1933
1873
  def set_timeout_socket_connect(self, sec: int) -> None:
1934
1874
  if sec < -1:
1935
1875
  raise UnsupportedOperationException(
@@ -1962,7 +1902,6 @@ class ILServiceProperty(_AutoAccessor):
1962
1902
  + ") ROLLING(" + str(self.logFileSizeSystem) + "bytes, " + str(self.logFileCountSystem) + "files)\n"
1963
1903
  + "\tLOGGER TYPE(CLI) LEVEL(" + ILC.get_log_level_string(self.logLevelClient)
1964
1904
  + ") ROLLING(" + str(self.logFileSizeClient) + "bytes, " + str(self.logFileCountClient) + "files)\n"
1965
- + "\tTCPLSR ACCEPT(" + str(self.poolSizeAccept) + "threads) EVENT(" + str(self.poolSizeEvent) + "threads)\n"
1966
1905
  + "\tTCPSOCKET TIMEOUT(" + str(self.timeoutSocketRecv) + "sec)\n"
1967
1906
  + "\tACL(" + ("ON" if self.aclEnabled else "OFF") + ") ACL-TYPE(" + ("BLACKLIST" if self.aclType == ILC.MIMQ_ACL_BY_BLACKLIST else "WHITELIST" if self.aclType == ILC.MIMQ_ACL_BY_WHITELIST else "UNKNOWN") + ")\n"
1968
1907
  + "\tRELAY-TYPE(" + ("HUB" if self.is_hub() else "SPOKE") + ") NAME(" + self.name + ") HUB(" + self.hubIp + ":" + str(self.hubPort) + ")\n"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jetstream-api
3
- Version: 0.1.1
3
+ Version: 0.1.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.1.1"
7
+ version = "0.1.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