001// Copyright (c) FIRST and other WPILib contributors. 002// Open Source Software; you can modify and/or share it under the terms of 003// the WPILib BSD license file in the root directory of this project. 004 005package edu.wpi.first.util; 006 007import java.util.HashMap; 008import java.util.Map; 009 010/** Service data for MulticastServiceResolver. */ 011public class ServiceData { 012 /** 013 * Constructs a ServiceData. 014 * 015 * @param ipv4Address ipv4Address 016 * @param port port 017 * @param serviceName found service name 018 * @param hostName found host name 019 * @param keys txt keys 020 * @param values txt values 021 */ 022 public ServiceData( 023 long ipv4Address, 024 int port, 025 String serviceName, 026 String hostName, 027 String[] keys, 028 String[] values) { 029 this.m_serviceName = serviceName; 030 this.m_hostName = hostName; 031 this.m_port = port; 032 this.m_ipv4Address = ipv4Address; 033 034 m_txt = new HashMap<>(); 035 036 for (int i = 0; i < keys.length; i++) { 037 m_txt.put(keys[i], values[i]); 038 } 039 } 040 041 public Map<String, String> getTxt() { 042 return m_txt; 043 } 044 045 public String getHostName() { 046 return m_hostName; 047 } 048 049 public String getServiceName() { 050 return m_serviceName; 051 } 052 053 public int getPort() { 054 return m_port; 055 } 056 057 public long getIpv4Address() { 058 return m_ipv4Address; 059 } 060 061 private final Map<String, String> m_txt; 062 private final long m_ipv4Address; 063 private final int m_port; 064 private final String m_serviceName; 065 private final String m_hostName; 066}