@Override
protected NetconfServerSession getSession(
NetconfServerSessionListener sessionListener, Channel channel,
NetconfHelloMessage message) {
Optional<NetconfHelloMessageAdditionalHeader> additionalHeader = message
.getAdditionalHeader();
NetconfHelloMessageAdditionalHeader parsedHeader;
if (additionalHeader.isPresent()) {
parsedHeader = additionalHeader.get();
} else {
parsedHeader = new NetconfHelloMessageAdditionalHeader(UNKNOWN,
getHostName(channel.localAddress()).getValue(),
getHostName(channel.localAddress()).getKey(), "tcp",
"client");
}
LOG.debug("Additional header from hello parsed as {} from {}",
parsedHeader, additionalHeader);
return new NetconfServerSession(sessionListener, channel,
getSessionPreferences().getSessionId(), parsedHeader);
}