(version primitive.ProtocolVersion, keyspace, compression string)
| 350 | } |
| 351 | |
| 352 | func (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 | |
| 379 | func (p *Proxy) newQueryPlan() proxycore.QueryPlan { |
| 380 | return p.lb.NewQueryPlan() |
no test coverage detected