The connectors in the other languages are structured with common names and separation of concerns.
Public API:
Connector is the main public API to configure and connect.
ConnectionOptions is the value object containing connection options. main public API to configure and connect.
Internal API:
ConnectorRegistry is the internal class that holds configuration and caches for each database instance.
ConnectionInfo is a value object that holds the configuration and data for one database instance.
ConnectionInfoCache interface holds the active ConnectionInfo value for a single database instance and keeps it up to date, refreshing the data as needed.
RefreshAheadCache implements the ConnectionInfoCache using the current connector refresh algorithm
LazyRefreshCache (to be added with #285) implements ConnectionInfoCache using the lazy refresh algorithm.
ConnectionInfoRepository calls the Cloud SQL Admin API to build an up-to-date ConnectionInfo object.
To get to the NodeJS connector codebase into state, we will need to move some code and rename some classes.
Rename CloudSQLInstanceMap to ConnectorRegistry
Rename InstanceConnectionInfo to ConnectionInfo
Rename CloudSQLInstance class to RefreshAheadCache
Rename Fetcher interface to ConnectionInfoRepository
Rename SqlAdminFetcher class to DefaultConnectionInfoRepository
The connectors in the other languages are structured with common names and separation of concerns.
Public API:
Connector
is the main public API to configure and connect.ConnectionOptions
is the value object containing connection options. main public API to configure and connect.Internal API:
ConnectorRegistry
is the internal class that holds configuration and caches for each database instance.ConnectionInfo
is a value object that holds the configuration and data for one database instance.ConnectionInfoCache
interface holds the activeConnectionInfo
value for a single database instance and keeps it up to date, refreshing the data as needed.RefreshAheadCache
implements theConnectionInfoCache
using the current connector refresh algorithmLazyRefreshCache
(to be added with #285) implementsConnectionInfoCache
using the lazy refresh algorithm.ConnectionInfoRepository
calls the Cloud SQL Admin API to build an up-to-dateConnectionInfo
object.To get to the NodeJS connector codebase into state, we will need to move some code and rename some classes.
CloudSQLInstanceMap
toConnectorRegistry
InstanceConnectionInfo
toConnectionInfo
CloudSQLInstance
class toRefreshAheadCache
Fetcher
interface toConnectionInfoRepository
SqlAdminFetcher
class toDefaultConnectionInfoRepository