Align class names and code structure with the connectors in other languages
hessjcg opened this issue · 0 comments
hessjcg commented
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.
- Rename
CloudSQLInstanceMap
toConnectorRegistry
- Rename
InstanceConnectionInfo
toConnectionInfo
- Rename
CloudSQLInstance
class toRefreshAheadCache
- Rename
Fetcher
interface toConnectionInfoRepository
- Rename
SqlAdminFetcher
class toDefaultConnectionInfoRepository