OpenMAMA
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
transport.h
Go to the documentation of this file.
1 /* $Id$
2  *
3  * OpenMAMA: The open middleware agnostic messaging API
4  * Copyright (C) 2011 NYSE Technologies, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301 USA
20  */
21 
22 #ifndef MamaTransportH__
23 #define MamaTransportH__
24 
25 #if defined(__cplusplus)
26 extern "C" {
27 #endif
28 
29 #include "mama/types.h"
30 #include "mama/status.h"
31 #include "mama/subscription.h"
32 #include "mama/msg.h"
33 #include "mama/symbolmap.h"
34 #include "mama/quality.h"
35 
68 typedef enum
69 {
83 
91 typedef enum
92 {
96 
97 
107 typedef enum
108 {
113 } tportLbScheme;
114 
133 typedef void (MAMACALLTYPE *mamaTransportCB)(mamaTransport tport,
135  short cause,
136  const void* platformInfo,
137  void *closure);
138 
157 typedef void (MAMACALLTYPE *mamaTransportTopicCB)(mamaTransport tport,
159  const char* topic,
160  const void* platformInfo,
161  void *closure);
162 
163 
164 
165 typedef void (*mamaTransportLbInitialCB)(int numTransports,
166  int* transportIndex);
167 
168 typedef void (*mamaTransportLbCB)(int curTransportIndex,
169  int numTransports,
170  const char* source,
171  const char* symbol,
172  int* nextTransportIndex);
173 
174 
178 MAMAExpDLL
179 extern const char*
180 mamaTransportEvent_toString (mamaTransportEvent event);
181 
186 MAMAExpDLL
187 extern mama_status
189  mamaTransportCB callback,
190  void* closure);
198 MAMAExpDLL
199 extern mama_status
201  uint32_t highWater,
202  uint32_t lowWater);
203 
208 MAMAExpDLL
209 extern mama_status
211  mamaTransportTopicCB callback,
212  void* closure);
222 MAMAExpDLL
223 extern mama_status
225 
243 MAMAExpDLL
244 extern mama_status
246  const char* name,
247  mamaBridge bridgeImpl);
248 
256 MAMAExpDLL
257 extern mama_status
259  const char* name);
260 
261 
269 MAMAExpDLL
270 extern mama_status
272  const char** result);
273 
274 MAMAExpDLL
275 const char *
277 
284 typedef enum
285 {
290 
301 MAMAExpDLL
302 extern mama_status
304  mamaThrottleInstance instance,
305  double *result);
306 
313 MAMAExpDLL
314 extern void
316  uint8_t disable);
317 
325 MAMAExpDLL
326 extern mama_status
328  mamaThrottleInstance instance,
329  double outboundThrottle);
330 
339 MAMAExpDLL
340 extern void
342  mamaSymbolMapFunc mapFunc,
343  void* closure);
344 
351 MAMAExpDLL
352 extern mamaSymbolMapFunc
354 
361 MAMAExpDLL
362 extern void*
364 
374 MAMAExpDLL
375 extern mama_status
376 mamaTransport_setDescription (mamaTransport transport, const char* description);
377 
386 MAMAExpDLL
387 extern mama_status
388 mamaTransport_getDescription (mamaTransport transport, const char** description);
389 
406 MAMAExpDLL
407 extern mama_status
409  mamaTransport transport,
410  int invokeQualityForAllSubscs);
411 
420 MAMAExpDLL
421 extern mama_status
423  const mamaTransport transport,
424  int* invokeQualityForAllSubscs);
425 
436 MAMAExpDLL
437 extern mama_status
438 mamaTransport_getQuality (const mamaTransport transport,
439  mamaQuality* quality);
440 
446 MAMAExpDLL
447 extern mama_status
449 
460 MAMAExpDLL
461 extern mama_status
463  mamaConnection* result,
464  const char* ipAddress,
465  uint16_t port);
466 
472 MAMAExpDLL
473 extern mama_status
475  mamaConnection** result,
476  uint32_t* len);
477 
478 
484 MAMAExpDLL
485 extern mama_status
487  const char* topic,
488  mamaConnection** result,
489  uint32_t* len);
493 MAMAExpDLL
494 extern mama_status
496  mamaConnection* result,
497  uint32_t len);
498 
504 MAMAExpDLL
505 extern mama_status
507  mamaServerConnection** result,
508  uint32_t* len);
509 
513 MAMAExpDLL
514 extern mama_status
516  mamaServerConnection* result,
517  uint32_t len);
518 
523 MAMAExpDLL
524 extern mama_status
526  mamaTransportLbInitialCB callback);
527 
534 MAMAExpDLL
535 extern mama_status
537  mamaTransportLbCB callback);
538 
544 MAMAExpDLL
545 extern mama_status
547 
554 MAMAExpDLL
555 extern mama_status
557 
558 MAMAExpDLL
559 extern mama_status
561  int deactivate);
562 
563 
564 MAMAExpDLL
565 extern int
567 
577 MAMAExpDLL
578 extern mama_status
580  int index,
581  void** nativeTport);
582 
593 MAMAExpDLL
594 extern mama_status
596  int index,
597  void** nativeTportNamingCtx);
598 
599 MAMAExpDLL
600 extern mamaStatsCollector
602 
609 MAMAExpDLL
610 extern mama_status
612  void** closure);
613 
620 MAMAExpDLL
621 extern mama_status
623  void* closure);
624 
625 #if defined(__cplusplus)
626 }
627 #endif
628 
629 #endif /* MamaTransportH__ */


© 2012 Linux Foundation