## Uses of Class
net.snowflake.client.core.SFSession

Packages that use SFSession
net.snowflake.client.core
net.snowflake.client.jdbc
net.snowflake.client.jdbc.cloud.storage
net.snowflake.client.jdbc.telemetry

### Uses of SFSession in net.snowflake.client.core

Methods in net.snowflake.client.core with parameters of type SFSession
`protected void` HeartbeatBackground.`addSession​(SFSession session, long masterTokenValidityInSecs, int heartbeatFrequencyInSecs)` Method to add a session
`protected static com.fasterxml.jackson.databind.JsonNode` StmtUtil.`getQueryResultJSON​(String queryId, SFSession session)` Issue get-result call to get query result given an in progress response.

Constructors in net.snowflake.client.core with parameters of type SFSession
`SFStatement​(SFSession session)`

### Uses of SFSession in net.snowflake.client.jdbc

Methods in net.snowflake.client.jdbc that return SFSession
`SFSession` SnowflakeFileTransferConfig.`getSession()`
`SFSession` SnowflakeConnectionV1.`getSfSession()`

Methods in net.snowflake.client.jdbc with parameters of type SFSession

`static Callable<Void>`

SnowflakeFileTransferAgent.`getDownloadFileCallable​(StageInfo stage, String srcFilePath, String localLocation, Map<String,​net.snowflake.client.jdbc.SnowflakeFileTransferAgent.FileMetadata> fileMetadataMap, SnowflakeStorageClient client, SFSession session, String command, int parallel, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat, String presignedUrl)`

A callable that can be executed in a separate thread using executor service.

`static Callable<Void>`

SnowflakeFileTransferAgent.`getUploadFileCallable​(StageInfo stage, String srcFilePath, net.snowflake.client.jdbc.SnowflakeFileTransferAgent.FileMetadata metadata, SnowflakeStorageClient client, SFSession session, String command, InputStream inputStream, boolean sourceFromStream, int parallel, File srcFile, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat)`

A callable that can be executed in a separate thread using executor service.

`static void` SnowflakeFileTransferAgent.`renewExpiredToken​(SFSession session, String command, SnowflakeStorageClient client)` This static method is called when we are handling an expired token exception It retrieves a fresh token from GS and then calls .renew() on the storage client to refresh itself with the new token
`SnowflakeFileTransferConfig.Builder` SnowflakeFileTransferConfig.Builder.`setSFSession​(SFSession session)`
`static void` SnowflakeFileTransferAgent.`throwNoSpaceLeftError​(SFSession session, String operation, Exception ex)` For handling IOException: No space left on device when attempting to download a file to a location where there is not enough space.

Constructors in net.snowflake.client.jdbc with parameters of type SFSession
`SnowflakeFileTransferAgent​(String command, SFSession session, SFStatement statement)`

### Uses of SFSession in net.snowflake.client.jdbc.cloud.storage

Methods in net.snowflake.client.jdbc.cloud.storage with parameters of type SFSession
`SnowflakeStorageClient` StorageClientFactory.`createClient​(StageInfo stage, int parallel, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat, SFSession session)` Creates a storage client based on the value of stageLocationType
`static SnowflakeGCSClient` SnowflakeGCSClient.`createSnowflakeGCSClient​(StageInfo stage, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat, SFSession session)`
`void` SnowflakeAzureClient.`download​(SFSession session, String command, String localLocation, String destFileName, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage.
`void` SnowflakeGCSClient.`download​(SFSession session, String command, String localLocation, String destFileName, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage.
`void` SnowflakeS3Client.`download​(SFSession session, String command, String localLocation, String destFileName, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from S3.
`void` SnowflakeStorageClient.`download​(SFSession connection, String command, String localLocation, String destFileName, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage.
`InputStream` SnowflakeAzureClient.`downloadToStream​(SFSession session, String command, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage
`InputStream` SnowflakeGCSClient.`downloadToStream​(SFSession session, String command, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage
`InputStream` SnowflakeS3Client.`downloadToStream​(SFSession session, String command, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage
`InputStream` SnowflakeStorageClient.`downloadToStream​(SFSession connection, String command, int parallelism, String remoteStorageLocation, String stageFilePath, String stageRegion, String presignedUrl)` Download a file from remote storage
`void` SnowflakeAzureClient.`handleStorageException​(Exception ex, int retryCount, String operation, SFSession session, String command)` Handles exceptions thrown by Azure Storage
`void` SnowflakeGCSClient.`handleStorageException​(Exception ex, int retryCount, String operation, SFSession session, String command)`
`void` SnowflakeS3Client.`handleStorageException​(Exception ex, int retryCount, String operation, SFSession session, String command)`
`void` SnowflakeStorageClient.`handleStorageException​(Exception ex, int retryCount, String operation, SFSession connection, String command)` Handles exceptions thrown by the remote storage provider
`void` SnowflakeAzureClient.`upload​(SFSession session, String command, int parallelism, boolean uploadFromStream, String remoteStorageLocation, File srcFile, String destFileName, InputStream inputStream, FileBackedOutputStream fileBackedOutputStream, StorageObjectMetadata meta, String stageRegion, String presignedUrl)` Upload a file/stream to remote storage
`void` SnowflakeGCSClient.`upload​(SFSession session, String command, int parallelism, boolean uploadFromStream, String remoteStorageLocation, File srcFile, String destFileName, InputStream inputStream, FileBackedOutputStream fileBackedOutputStream, StorageObjectMetadata meta, String stageRegion, String presignedUrl)` Upload a file/stream to remote storage
`void` SnowflakeS3Client.`upload​(SFSession session, String command, int parallelism, boolean uploadFromStream, String remoteStorageLocation, File srcFile, String destFileName, InputStream inputStream, FileBackedOutputStream fileBackedOutputStream, StorageObjectMetadata meta, String stageRegion, String presignedUrl)` Upload a file (-stream) to S3.
`void` SnowflakeStorageClient.`upload​(SFSession connection, String command, int parallelism, boolean uploadFromStream, String remoteStorageLocation, File srcFile, String destFileName, InputStream inputStream, FileBackedOutputStream fileBackedOutputStream, StorageObjectMetadata meta, String stageRegion, String presignedUrl)` Upload a file (-stream) to remote storage

### Uses of SFSession in net.snowflake.client.jdbc.telemetry

Methods in net.snowflake.client.jdbc.telemetry with parameters of type SFSession
`static Telemetry` TelemetryClient.`createTelemetry​(SFSession session)` Initialize the telemetry connector
`static Telemetry` TelemetryClient.`createTelemetry​(SFSession session, int flushSize)` Initialize the telemetry connector