1 // NAME 2 // $RCSfile: StreamPortItem.java,v $ 3 // DESCRIPTION 4 // [given below in javadoc format] 5 // DELTA 6 // $Revision: 1.4 $ 7 // CREATED 8 // $Date: 2006/02/09 14:14:50 $ 9 // COPYRIGHT 10 // Westhawk Ltd 11 // TO DO 12 // 13 14 /* 15 * Copyright (C) 2005 - 2006 by Westhawk Ltd 16 * <a href="www.westhawk.co.uk">www.westhawk.co.uk</a> 17 * 18 * Permission to use, copy, modify, and distribute this software 19 * for any purpose and without fee is hereby granted, provided 20 * that the above copyright notices appear in all copies and that 21 * both the copyright notice and this permission notice appear in 22 * supporting documentation. 23 * This software is provided "as is" without express or implied 24 * warranty. 25 * author <a href="mailto:snmp@westhawk.co.uk">Tim Panton</a> 26 */ 27 28 package uk.co.westhawk.snmp.net; 29 30 /*- 31 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 32 * SNMP Java Client 33 * ჻჻჻჻჻჻ 34 * Copyright 2023 MetricsHub, Westhawk 35 * ჻჻჻჻჻჻ 36 * This program is free software: you can redistribute it and/or modify 37 * it under the terms of the GNU Lesser General Public License as 38 * published by the Free Software Foundation, either version 3 of the 39 * License, or (at your option) any later version. 40 * 41 * This program is distributed in the hope that it will be useful, 42 * but WITHOUT ANY WARRANTY; without even the implied warranty of 43 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 44 * GNU General Lesser Public License for more details. 45 * 46 * You should have received a copy of the GNU General Lesser Public 47 * License along with this program. If not, see 48 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 49 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 50 */ 51 52 import java.io.*; 53 54 /** 55 * This is a holder class that associates the incoming packet stream 56 * with the remote port it came from. 57 * 58 * @since 4_14 59 * @author <a href="mailto:snmp@westhawk.co.uk">Birgit Arkesteijn</a> 60 * @version $Revision: 1.4 $ $Date: 2006/02/09 14:14:50 $ 61 */ 62 public class StreamPortItem { 63 static final String version_id = "@(#)$Id: StreamPortItem.java,v 1.4 2006/02/09 14:14:50 birgit Exp $ Copyright Westhawk Ltd"; 64 65 private String hostAddress; 66 private int port; 67 private ByteArrayInputStream stream; 68 69 /** 70 * Constructor. 71 * 72 * @param address The host address 73 * @param newPort The remote port number 74 * @param in The incoming message 75 */ 76 public StreamPortItem(String address, int newPort, ByteArrayInputStream in) { 77 hostAddress = address; 78 port = newPort; 79 stream = in; 80 } 81 82 /** 83 * Returns the host addres where the message came from. 84 * 85 * @return The host address 86 */ 87 public String getHostAddress() { 88 return hostAddress; 89 } 90 91 /** 92 * Returns the remote port where the message came from. 93 * 94 * @return The remote port number 95 */ 96 public int getHostPort() { 97 return port; 98 } 99 100 /** 101 * Returns incoming message (or a copy of it). 102 * 103 * @return The message 104 */ 105 public ByteArrayInputStream getStream() { 106 return stream; 107 } 108 109 /** 110 * Returns the string representation. 111 * 112 * @return The string 113 */ 114 public String toString() { 115 StringBuffer buffer = new StringBuffer(getClass().getName()); 116 buffer.append("["); 117 buffer.append("hostAddress=").append(hostAddress); 118 buffer.append(", hostPort=").append(port); 119 buffer.append(", #bytes=").append(stream.available()); 120 buffer.append("]"); 121 return buffer.toString(); 122 } 123 124 }