MCPcopy Create free account
hub / github.com/datastax/cql-proxy / maybeCreateSessionUnlocked

Method maybeCreateSessionUnlocked

proxy/proxy.go:352–377  ·  view source on GitHub ↗
(version primitive.ProtocolVersion, keyspace, compression string)

Source from the content-addressed store, hash-verified

350}
351
352func (p *Proxy) maybeCreateSessionUnlocked(version primitive.ProtocolVersion, keyspace, compression string) (*proxycore.Session, error) {
353 key := sessionKey{version: version, keyspace: keyspace, compression: compression}
354 if cachedSession, ok := p.sessions[key]; ok {
355 return cachedSession, nil
356 } else {
357 sess, err := proxycore.ConnectSession(p.ctx, p.cluster, proxycore.SessionConfig{
358 ReconnectPolicy: p.config.ReconnectPolicy,
359 NumConns: p.config.NumConns,
360 Version: version,
361 Auth: p.config.Auth,
362 PreparedCache: p.preparedCache,
363 Keyspace: keyspace,
364 HeartBeatInterval: p.config.HeartBeatInterval,
365 ConnectTimeout: p.config.ConnectTimeout,
366 IdleTimeout: p.config.IdleTimeout,
367 Logger: p.logger,
368 Compression: compression,
369 })
370 if err != nil {
371 return nil, err
372 }
373
374 p.sessions[key] = sess
375 return sess, nil
376 }
377}
378
379func (p *Proxy) newQueryPlan() proxycore.QueryPlan {
380 return p.lb.NewQueryPlan()

Callers 2

maybeCreateSessionMethod · 0.95
findSessionMethod · 0.95

Calls 1

ConnectSessionFunction · 0.92

Tested by

no test coverage detected