Coverage report

  %line %branch
org.apache.commons.net.DaytimeUDPClient
0% 
0% 

 1  
 /*
 2  
  * Copyright 2001-2005 The Apache Software Foundation
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *     http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.apache.commons.net;
 17  
 
 18  
 import java.io.IOException;
 19  
 import java.net.DatagramPacket;
 20  
 import java.net.InetAddress;
 21  
 
 22  
 /***
 23  
  * The DaytimeUDPClient class is a UDP implementation of a client for the
 24  
  * Daytime protocol described in RFC 867.  To use the class, merely
 25  
  * open a local datagram socket with
 26  
  * {@link org.apache.commons.net.DatagramSocketClient#open  open }
 27  
  * and call {@link #getTime  getTime } to retrieve the daytime
 28  
  * string, then
 29  
  * call {@link org.apache.commons.net.DatagramSocketClient#close  close }
 30  
  * to close the connection properly.  Unlike
 31  
  * {@link org.apache.commons.net.DaytimeTCPClient},
 32  
  * successive calls to {@link #getTime  getTime } are permitted
 33  
  * without re-establishing a connection.  That is because UDP is a
 34  
  * connectionless protocol and the Daytime protocol is stateless.
 35  
  * <p>
 36  
  * <p>
 37  
  * @author Daniel F. Savarese
 38  
  * @see DaytimeTCPClient
 39  
  ***/
 40  
 
 41  0
 public final class DaytimeUDPClient extends DatagramSocketClient
 42  
 {
 43  
     /*** The default daytime port.  It is set to 13 according to RFC 867. ***/
 44  
     public static final int DEFAULT_PORT = 13;
 45  
 
 46  0
     private byte[] __dummyData = new byte[1];
 47  
     // Received dates should be less than 256 bytes
 48  0
     private byte[] __timeData = new byte[256];
 49  
 
 50  
     /***
 51  
      * Retrieves the time string from the specified server and port and
 52  
      * returns it.
 53  
      * <p>
 54  
      * @param host The address of the server.
 55  
      * @param port The port of the service.
 56  
      * @return The time string.
 57  
      * @exception IOException If an error occurs while retrieving the time.
 58  
      ***/
 59  
     public String getTime(InetAddress host, int port) throws IOException
 60  
     {
 61  
         DatagramPacket sendPacket, receivePacket;
 62  
 
 63  0
         sendPacket =
 64  
             new DatagramPacket(__dummyData, __dummyData.length, host, port);
 65  0
         receivePacket = new DatagramPacket(__timeData, __timeData.length);
 66  
 
 67  0
         _socket_.send(sendPacket);
 68  0
         _socket_.receive(receivePacket);
 69  
 
 70  0
         return new String(receivePacket.getData(), 0, receivePacket.getLength());
 71  
     }
 72  
 
 73  
     /*** Same as <code>getTime(host, DaytimeUDPClient.DEFAULT_PORT);</code> ***/
 74  
     public String getTime(InetAddress host) throws IOException
 75  
     {
 76  0
         return getTime(host, DEFAULT_PORT);
 77  
     }
 78  
 
 79  
 }
 80  
 

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.