/* * Copyright (C) 2008 Esmertec AG. * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package info.guardianproject.otr.app.im.engine; public interface HeartbeatService { public interface Callback { /** * Called on heartbeat schedule. * * @return the offset in milliseconds that the method wants to * be called the next time. Return 0 or negative value indicates to stop * the schedule of this callback. */ public long sendHeartbeat(); } /** * Start to schedule a heartbeat operation. * * @param callback The operation wants to be called repeat. * @param triggerTime The time(in milliseconds) until the operation * will be executed the first time. */ public void startHeartbeat(Callback callback, long triggerTime); /** * Stop scheduling a heartbeat operation. * * @param callback The operation will be stopped. */ public void stopHeartbeat(Callback callback); }