001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020
021 package org.apache.directory.server.ntp.messages;
022
023
024 /**
025 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
026 * @version $Rev: 547539 $, $Date: 2007-06-15 09:08:06 +0300 (Fri, 15 Jun 2007) $
027 */
028 public class NtpMessage
029 {
030 private LeapIndicatorType leapIndicator;
031 private int versionNumber;
032 private ModeType mode;
033 private StratumType stratumType;
034 private byte pollInterval;
035 private byte precision;
036 private int rootDelay;
037 private int rootDispersion;
038
039 private ReferenceIdentifier referenceIdentifier;
040
041 private NtpTimeStamp referenceTimestamp;
042 private NtpTimeStamp originateTimestamp;
043 private NtpTimeStamp receiveTimestamp;
044 private NtpTimeStamp transmitTimestamp;
045
046
047 /**
048 * Creates a new instance of NtpMessage.
049 *
050 * @param leapIndicator
051 * @param versionNumber
052 * @param mode
053 * @param stratumType
054 * @param pollInterval
055 * @param precision
056 * @param rootDelay
057 * @param rootDispersion
058 * @param referenceIdentifier
059 * @param referenceTimestamp
060 * @param originateTimestamp
061 * @param receiveTimestamp
062 * @param transmitTimestamp
063 */
064 public NtpMessage( LeapIndicatorType leapIndicator, int versionNumber, ModeType mode, StratumType stratumType,
065 byte pollInterval, byte precision, int rootDelay, int rootDispersion, ReferenceIdentifier referenceIdentifier,
066 NtpTimeStamp referenceTimestamp, NtpTimeStamp originateTimestamp, NtpTimeStamp receiveTimestamp,
067 NtpTimeStamp transmitTimestamp )
068 {
069 this.leapIndicator = leapIndicator;
070 this.versionNumber = versionNumber;
071 this.mode = mode;
072 this.stratumType = stratumType;
073 this.pollInterval = pollInterval;
074 this.precision = precision;
075 this.rootDelay = rootDelay;
076 this.rootDispersion = rootDispersion;
077 this.referenceIdentifier = referenceIdentifier;
078 this.referenceTimestamp = referenceTimestamp;
079 this.originateTimestamp = originateTimestamp;
080 this.receiveTimestamp = receiveTimestamp;
081 this.transmitTimestamp = transmitTimestamp;
082 }
083
084
085 /**
086 * @return Returns the Leap Indicator.
087 */
088 public LeapIndicatorType getLeapIndicator()
089 {
090 return leapIndicator;
091 }
092
093
094 /**
095 * @return Returns the Mode.
096 */
097 public ModeType getMode()
098 {
099 return mode;
100 }
101
102
103 /**
104 * @return Returns the Originate Timestamp.
105 */
106 public NtpTimeStamp getOriginateTimestamp()
107 {
108 return originateTimestamp;
109 }
110
111
112 /**
113 * @return Returns the Poll Interval.
114 */
115 public byte getPollInterval()
116 {
117 return pollInterval;
118 }
119
120
121 /**
122 * @return Returns the Precision.
123 */
124 public byte getPrecision()
125 {
126 return precision;
127 }
128
129
130 /**
131 * @return Returns the Receive Timestamp.
132 */
133 public NtpTimeStamp getReceiveTimestamp()
134 {
135 return receiveTimestamp;
136 }
137
138
139 /**
140 * @return Returns the Reference Identifier.
141 */
142 public ReferenceIdentifier getReferenceIdentifier()
143 {
144 return referenceIdentifier;
145 }
146
147
148 /**
149 * @return Returns the Reference Timestamp.
150 */
151 public NtpTimeStamp getReferenceTimestamp()
152 {
153 return referenceTimestamp;
154 }
155
156
157 /**
158 * @return Returns the Root Delay.
159 */
160 public int getRootDelay()
161 {
162 return rootDelay;
163 }
164
165
166 /**
167 * @return Returns the Root Dispersion.
168 */
169 public int getRootDispersion()
170 {
171 return rootDispersion;
172 }
173
174
175 /**
176 * @return Returns the Stratum.
177 */
178 public StratumType getStratum()
179 {
180 return stratumType;
181 }
182
183
184 /**
185 * @return Returns the Transmit Timestamp.
186 */
187 public NtpTimeStamp getTransmitTimestamp()
188 {
189 return transmitTimestamp;
190 }
191
192
193 /**
194 * @return Returns the Version Number.
195 */
196 public int getVersionNumber()
197 {
198 return versionNumber;
199 }
200 }