in sdk/greengrass/event-stream-rpc-client/src/main/java/software/amazon/awssdk/eventstreamrpc/EventStreamRPCConnectionConfig.java [32:51]
public EventStreamRPCConnectionConfig(ClientBootstrap clientBootstrap, EventLoopGroup eventLoopGroup,
SocketOptions socketOptions, ClientTlsContext tlsContext,
String host, int port, Supplier<CompletableFuture<MessageAmendInfo>> connectMessageAmender) {
this.clientBootstrap = clientBootstrap;
this.eventLoopGroup = eventLoopGroup;
this.socketOptions = socketOptions;
this.tlsContext = tlsContext;
this.host = host;
this.port = port;
this.connectMessageAmender = connectMessageAmender;
//perform cast to throw exception here if port value is out of short value range
final short shortPort = (short)port;
//bit of C++ RAII here, validate what we can
if (clientBootstrap == null || eventLoopGroup == null || socketOptions == null ||
host == null || host.isEmpty() || port < 0) {
throw new IllegalArgumentException("EventStreamRPCConnectionConfig values are invalid!");
}
}