- static class AdditionalHeader {
-
- private static final Pattern pattern = Pattern
- .compile("\\[(?<username>[^;]+);(?<address>[0-9\\.]+)[:/](?<port>[0-9]+);(?<transport>[a-z]+)[^\\]]+\\]");
- private final String username;
- private final String address;
- private final String transport;
-
- public AdditionalHeader(String addHeaderAsString) {
- addHeaderAsString = addHeaderAsString.trim();
- Matcher matcher = pattern.matcher(addHeaderAsString);
- Preconditions.checkArgument(matcher.matches(), "Additional header in wrong format %s, expected %s",
- addHeaderAsString, pattern);
- this.username = matcher.group("username");
- this.address = matcher.group("address");
- this.transport = matcher.group("transport");
- }
+ /**
+ * @param socketAddress
+ * type of socket address LocalAddress, or
+ * InetSocketAddress, for others returns unknown
+ * @return Map<port, host > two values - port and host of socket address
+ */
+ protected static Map.Entry<String, String> getHostName(
+ SocketAddress socketAddress) {