/*
 * Decompiled with CFR 0.152.
 */
package com.l7tech.server.transport.jms2;

import com.l7tech.server.transport.jms.JmsRuntimeException;
import com.l7tech.server.transport.jms2.JmsConnectionMaxWaitException;
import com.l7tech.server.transport.jms2.JmsEndpointConfig;
import com.l7tech.server.transport.jms2.SessionHolder;
import java.util.concurrent.atomic.AtomicLong;

public interface CachedConnection {
    public SessionHolder borrowConnection() throws JmsRuntimeException, JmsConnectionMaxWaitException;

    public void returnConnection(SessionHolder var1) throws JmsRuntimeException;

    public JmsEndpointConfig getEndpointConfig();

    public void close();

    public long getCreatedTime();

    public void touch();

    public AtomicLong getLastAccessTime();

    public void invalidate(SessionHolder var1) throws Exception;

    public boolean isDisconnected();

    public boolean isActive();

    public boolean isIdleTimeoutExpired();

    public void debugStatus();

    public String toString();
}

