Source code for worldline.acquiring.sdk.communication.pooled_connection
from abc import ABC, abstractmethod
from datetime import timedelta
from .connection import Connection
[docs]
class PooledConnection(Connection, ABC):
"""
Represents a pooled connection to the Worldline Acquiring platform server.
Instead of setting up a new HTTP connection for each request, this
connection uses a pool of HTTP connections.
"""
[docs]
@abstractmethod
def close_idle_connections(self, idle_time: timedelta) -> None:
"""
Closes all HTTP connections that have been idle for the specified time.
This should also include all expired HTTP connections.
:param idle_time: a datetime.timedelta object indicating the idle time
"""
raise NotImplementedError
[docs]
@abstractmethod
def close_expired_connections(self) -> None:
"""
Closes all expired HTTP connections.
"""
raise NotImplementedError