01: package org.tanukisoftware.wrapper.event;
02:
03: /*
04: * Copyright (c) 1999, 2006 Tanuki Software Inc.
05: *
06: * Permission is hereby granted, free of charge, to any person
07: * obtaining a copy of the Java Service Wrapper and associated
08: * documentation files (the "Software"), to deal in the Software
09: * without restriction, including without limitation the rights
10: * to use, copy, modify, merge, publish, distribute, sub-license,
11: * and/or sell copies of the Software, and to permit persons to
12: * whom the Software is furnished to do so, subject to the
13: * following conditions:
14: *
15: * The above copyright notice and this permission notice shall be
16: * included in all copies or substantial portions of the Software.
17: *
18: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19: * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20: * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21: * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22: * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23: * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25: * OTHER DEALINGS IN THE SOFTWARE.
26: */
27:
28: /**
29: * WrapperPingEvent are fired each time a ping is received from the Wrapper
30: * process. This event is mainly useful for debugging and statistic
31: * collection purposes.
32: * <p>
33: * WARNING - Great care should be taken when receiving events of this type.
34: * They are sent from within the Wrapper's internal timing thread. If the
35: * listner takes too much time working with the event, Wrapper performance
36: * could be adversely affected. If unsure, it is recommended that events
37: * of this type not be included.
38: *
39: * @author Leif Mortenson <leif@tanukisoftware.com>
40: */
41: public abstract class WrapperTickEvent extends WrapperCoreEvent {
42: /*---------------------------------------------------------------
43: * Constructors
44: *-------------------------------------------------------------*/
45: /**
46: * Creates a new WrapperTickEvent.
47: */
48: protected WrapperTickEvent() {
49: }
50:
51: /*---------------------------------------------------------------
52: * Methods
53: *-------------------------------------------------------------*/
54: /**
55: * Returns the tick count at the point the event is fired.
56: *
57: * @return The tick count at the point the event is fired.
58: */
59: public abstract int getTicks();
60:
61: /**
62: * Returns the offset between the tick count used by the Wrapper for time
63: * keeping and the tick count generated directly from the system time.
64: * <p>
65: * This will be 0 in most cases. But will be a positive value if the
66: * system time is ever set back for any reason. It will be a negative
67: * value if the system time is set forward or if the system is under
68: * heavy load. If the wrapper.use_system_time property is set to TRUE
69: * then the Wrapper will be using the system tick count for internal
70: * timing and this value will always be 0.
71: *
72: * @return The tick count offset.
73: */
74: public abstract int getTickOffset();
75:
76: /*---------------------------------------------------------------
77: * Method
78: *-------------------------------------------------------------*/
79: /**
80: * Returns a string representation of the event.
81: *
82: * @return A string representation of the event.
83: */
84: public String toString() {
85: return "WrapperTickEvent[ticks=" + getTicks() + ", tickOffset="
86: + getTickOffset() + "]";
87: }
88: }
|