2 * $Id: ORTEPublicationTimer.c,v 0.0.0.1 2003/12/15
4 * DEBUG: section 32 Publication Timer
6 * -------------------------------------------------------------------
8 * Open Real-Time Ethernet
10 * Copyright (C) 2001-2006
11 * Department of Control Engineering FEE CTU Prague, Czech Republic
12 * http://dce.felk.cvut.cz
13 * http://www.ocera.org
15 * Author: Petr Smolik petr.smolik@wo.cz
17 * Project Responsible: Zdenek Hanzalek
18 * --------------------------------------------------------------------
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License as published by
22 * the Free Software Foundation; either version 2 of the License, or
23 * (at your option) any later version.
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 * GNU General Public License for more details.
34 /*****************************************************************************/
36 PublicationCallBackTimer(ORTEDomain *d,void *vcstWriter) {
37 CSTWriter *cstWriter=(CSTWriter*)vcstWriter;
41 pp=(ORTEPublProp*)cstWriter->objectEntryOID->attributes;
42 CSTWriterTryDestroyBestEffortIssue(cstWriter);
44 if (cstWriter->csChangesCounter<pp->sendQueueSize) {
45 info.status=NEED_DATA;
46 info.topic=(char*)pp->topic;
47 info.type=(char*)pp->typeName;
48 info.senderGUID=cstWriter->objectEntryOID->guid;
49 cstWriter->objectEntryOID->sendCallBack(&info,
50 cstWriter->objectEntryOID->instance,
51 cstWriter->objectEntryOID->callBackParam);
52 ORTEPublicationSendLocked(cstWriter,NULL);
56 cstWriter->objectEntryOID->objectEntryAID,
57 &cstWriter->objectEntryOID->sendCallBackDelayTimer,
59 "PublicationCallBackTimer",
60 PublicationCallBackTimer,
63 &cstWriter->objectEntryOID->sendCallBackDelay);