private static StreamFactory getStreamFactory(final MongoClientSettings settings, final boolean isHeartbeat) { StreamFactoryFactory streamFactoryFactory = settings.getStreamFactoryFactory(); SocketSettings socketSettings = isHeartbeat ? settings.getHeartbeatSocketSettings() : settings.getSocketSettings(); if (streamFactoryFactory == null) { return new SocketStreamFactory(socketSettings, settings.getSslSettings()); } else { return streamFactoryFactory.create(socketSettings, settings.getSslSettings()); } }
@Override public Stream create(final ServerAddress serverAddress) { Stream stream; if (serverAddress instanceof UnixServerAddress) { if (sslSettings.isEnabled()) { throw new MongoClientException("Socket based connections do not support ssl"); } stream = new UnixSocketChannelStream((UnixServerAddress) serverAddress, settings, sslSettings, bufferProvider); } else { if (socketFactory != null) { stream = new SocketStream(serverAddress, settings, sslSettings, socketFactory, bufferProvider); } else if (sslSettings.isEnabled()) { stream = new SocketStream(serverAddress, settings, sslSettings, getSslContext().getSocketFactory(), bufferProvider); } else { stream = new SocketChannelStream(serverAddress, settings, sslSettings, bufferProvider); } } return stream; }
private static Cluster createCluster(final ClusterSettings clusterSettings, final List<MongoCredential> credentialsList, final MongoClientOptions options, @Nullable final MongoDriverInformation mongoDriverInformation) { MongoDriverInformation.Builder builder = mongoDriverInformation == null ? MongoDriverInformation.builder() : MongoDriverInformation.builder(mongoDriverInformation); return new DefaultClusterFactory().createCluster(clusterSettings, options.getServerSettings(), options.getConnectionPoolSettings(), new SocketStreamFactory(options.getSocketSettings(), options.getSslSettings(), options.getSocketFactory()), new SocketStreamFactory(options.getHeartbeatSocketSettings(), options.getSslSettings(), options.getSocketFactory()), credentialsList, getCommandListener(options.getCommandListeners()), options.getApplicationName(), builder.driverName("legacy").build(), options.getCompressorList()); }
@Override public Stream create(final ServerAddress serverAddress) { Stream stream; if (serverAddress instanceof UnixServerAddress) { if (sslSettings.isEnabled()) { throw new MongoClientException("Socket based connections do not support ssl"); } stream = new UnixSocketChannelStream((UnixServerAddress) serverAddress, settings, sslSettings, bufferProvider); } else { if (socketFactory != null) { stream = new SocketStream(serverAddress, settings, sslSettings, socketFactory, bufferProvider); } else if (sslSettings.isEnabled()) { stream = new SocketStream(serverAddress, settings, sslSettings, getSslContext().getSocketFactory(), bufferProvider); } else { stream = new SocketChannelStream(serverAddress, settings, sslSettings, bufferProvider); } } return stream; }
private static StreamFactory getStreamFactory(final MongoClientSettings settings, final boolean isHeartbeat) { StreamFactoryFactory streamFactoryFactory = settings.getStreamFactoryFactory(); SocketSettings socketSettings = isHeartbeat ? settings.getHeartbeatSocketSettings() : settings.getSocketSettings(); if (streamFactoryFactory == null) { return new SocketStreamFactory(socketSettings, settings.getSslSettings()); } else { return streamFactoryFactory.create(socketSettings, settings.getSslSettings()); } }
private static StreamFactory getStreamFactory(final MongoClientSettings settings, final boolean isHeartbeat) { StreamFactoryFactory streamFactoryFactory = settings.getStreamFactoryFactory(); SocketSettings socketSettings = isHeartbeat ? settings.getHeartbeatSocketSettings() : settings.getSocketSettings(); if (streamFactoryFactory == null) { return new SocketStreamFactory(socketSettings, settings.getSslSettings()); } else { return streamFactoryFactory.create(socketSettings, settings.getSslSettings()); } }
private static Cluster createCluster(final ClusterSettings clusterSettings, final List<MongoCredential> credentialsList, final MongoClientOptions options, @Nullable final MongoDriverInformation mongoDriverInformation) { MongoDriverInformation.Builder builder = mongoDriverInformation == null ? MongoDriverInformation.builder() : MongoDriverInformation.builder(mongoDriverInformation); return new DefaultClusterFactory().createCluster(clusterSettings, options.getServerSettings(), options.getConnectionPoolSettings(), new SocketStreamFactory(options.getSocketSettings(), options.getSslSettings(), options.getSocketFactory()), new SocketStreamFactory(options.getHeartbeatSocketSettings(), options.getSslSettings(), options.getSocketFactory()), credentialsList, getCommandListener(options.getCommandListeners()), options.getApplicationName(), builder.driverName("legacy").build(), options.getCompressorList()); }