Skip to content

Align class names and code structure with the connectors in other languages #341

@hessjcg

Description

@hessjcg

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 Add support for lazy certificate refresh #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

Metadata

Metadata

Assignees

Labels

priority: p2Moderately-important priority. Fix may not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions