helics 3.7.0
Loading...
Searching...
No Matches
MessageFederate.h
Go to the documentation of this file.
1/*
2Copyright (c) 2017-2026,
3Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Energy Innovation LLC. See the top-level NOTICE for
4additional details. All rights reserved.
5SPDX-License-Identifier: BSD-3-Clause
6*/
7
13#ifndef HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_
14#define HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_
15
16#include "helicsCore.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22/* MessageFederate Calls*/
23
40HELICS_EXPORT HelicsEndpoint helicsFederateRegisterEndpoint(HelicsFederate fed, const char* name, const char* type, HelicsError* err);
41
57HELICS_EXPORT HelicsEndpoint helicsFederateRegisterGlobalEndpoint(HelicsFederate fed, const char* name, const char* type, HelicsError* err);
58
77 const char* name,
78 const char* type,
79 HelicsError* err);
80
98 const char* name,
99 const char* type,
100 HelicsError* err);
101
115HELICS_EXPORT HelicsEndpoint helicsFederateGetEndpoint(HelicsFederate fed, const char* name, HelicsError* err);
116
131
139HELICS_EXPORT HelicsBool helicsEndpointIsValid(HelicsEndpoint endpoint);
140
149HELICS_EXPORT void helicsEndpointSetDefaultDestination(HelicsEndpoint endpoint, const char* dst, HelicsError* err);
150
158HELICS_EXPORT const char* helicsEndpointGetDefaultDestination(HelicsEndpoint endpoint);
159
167HELICS_EXPORT void helicsEndpointSendString(HelicsEndpoint endpoint, const char* message, HelicsError* err);
168
179HELICS_EXPORT void helicsEndpointSendStringTo(HelicsEndpoint endpoint, const char* message, const char* dst, HelicsError* err);
180
194HELICS_EXPORT void
195 helicsEndpointSendStringToAt(HelicsEndpoint endpoint, const char* message, const char* dst, HelicsTime time, HelicsError* err);
196
209HELICS_EXPORT void helicsEndpointSendStringAt(HelicsEndpoint endpoint, const char* message, HelicsTime time, HelicsError* err);
210
220HELICS_EXPORT void helicsEndpointSendBytes(HelicsEndpoint endpoint, const void* data, int inputDataLength, HelicsError* err);
221
233HELICS_EXPORT void
234 helicsEndpointSendBytesTo(HelicsEndpoint endpoint, const void* data, int inputDataLength, const char* dst, HelicsError* err);
235
251HELICS_EXPORT void helicsEndpointSendBytesToAt(HelicsEndpoint endpoint,
252 const void* data,
253 int inputDataLength,
254 const char* dst,
255 HelicsTime time,
256 HelicsError* err);
257
272HELICS_EXPORT void
273 helicsEndpointSendBytesAt(HelicsEndpoint endpoint, const void* data, int inputDataLength, HelicsTime time, HelicsError* err);
274
283HELICS_EXPORT void helicsEndpointSendMessage(HelicsEndpoint endpoint, HelicsMessage message, HelicsError* err);
284
294HELICS_EXPORT void helicsEndpointSendMessageZeroCopy(HelicsEndpoint endpoint, HelicsMessage message, HelicsError* err);
295
304HELICS_EXPORT void helicsEndpointSubscribe(HelicsEndpoint endpoint, const char* key, HelicsError* err);
305
314
323
330
336HELICS_EXPORT int helicsEndpointPendingMessageCount(HelicsEndpoint endpoint);
337
346
360
368HELICS_EXPORT void helicsEndpointClearMessages(HelicsEndpoint endpoint);
369
380
394
402HELICS_EXPORT void helicsFederateClearMessages(HelicsFederate fed);
403
411HELICS_EXPORT const char* helicsEndpointGetType(HelicsEndpoint endpoint);
412
420HELICS_EXPORT const char* helicsEndpointGetName(HelicsEndpoint endpoint);
421
430
438HELICS_EXPORT const char* helicsEndpointGetInfo(HelicsEndpoint end);
439
449HELICS_EXPORT void helicsEndpointSetInfo(HelicsEndpoint endpoint, const char* info, HelicsError* err);
450
458HELICS_EXPORT const char* helicsEndpointGetTag(HelicsEndpoint endpoint, const char* tagname);
459
470HELICS_EXPORT void helicsEndpointSetTag(HelicsEndpoint endpoint, const char* tagname, const char* tagvalue, HelicsError* err);
471
482HELICS_EXPORT void helicsEndpointSetOption(HelicsEndpoint endpoint, int option, int value, HelicsError* err);
483
491HELICS_EXPORT int helicsEndpointGetOption(HelicsEndpoint endpoint, int option);
492
502HELICS_EXPORT void helicsEndpointAddSourceTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
503
513HELICS_EXPORT void helicsEndpointAddDestinationTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
514
524HELICS_EXPORT void helicsEndpointRemoveTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
525
535HELICS_EXPORT void helicsEndpointAddSourceFilter(HelicsEndpoint endpoint, const char* filterName, HelicsError* err);
536
545HELICS_EXPORT void helicsEndpointAddDestinationFilter(HelicsEndpoint endpoint, const char* filterName, HelicsError* err);
546
560HELICS_EXPORT const char* helicsMessageGetSource(HelicsMessage message);
561
569HELICS_EXPORT const char* helicsMessageGetDestination(HelicsMessage message);
570
578HELICS_EXPORT const char* helicsMessageGetOriginalSource(HelicsMessage message);
579
587HELICS_EXPORT const char* helicsMessageGetOriginalDestination(HelicsMessage message);
588
596HELICS_EXPORT HelicsTime helicsMessageGetTime(HelicsMessage message);
597
605HELICS_EXPORT const char* helicsMessageGetString(HelicsMessage message);
606
614HELICS_EXPORT int helicsMessageGetMessageID(HelicsMessage message);
615
624HELICS_EXPORT HelicsBool helicsMessageGetFlagOption(HelicsMessage message, int flag);
625
633HELICS_EXPORT int helicsMessageGetByteCount(HelicsMessage message);
634
645HELICS_EXPORT void helicsMessageGetBytes(HelicsMessage message, void* data, int maxMessageLength, int* actualSize, HelicsError* err);
646
654HELICS_EXPORT void* helicsMessageGetBytesPointer(HelicsMessage message);
655
664
672HELICS_EXPORT HelicsBool helicsMessageIsValid(HelicsMessage message);
673
682HELICS_EXPORT void helicsMessageSetSource(HelicsMessage message, const char* src, HelicsError* err);
683
692HELICS_EXPORT void helicsMessageSetDestination(HelicsMessage message, const char* dst, HelicsError* err);
693
702HELICS_EXPORT void helicsMessageSetOriginalSource(HelicsMessage message, const char* src, HelicsError* err);
703
712HELICS_EXPORT void helicsMessageSetOriginalDestination(HelicsMessage message, const char* dst, HelicsError* err);
713
722HELICS_EXPORT void helicsMessageSetTime(HelicsMessage message, HelicsTime time, HelicsError* err);
723
735HELICS_EXPORT void helicsMessageResize(HelicsMessage message, int newSize, HelicsError* err);
736
747HELICS_EXPORT void helicsMessageReserve(HelicsMessage message, int reserveSize, HelicsError* err);
748
759HELICS_EXPORT void helicsMessageSetMessageID(HelicsMessage message, int32_t messageID, HelicsError* err);
760
766HELICS_EXPORT void helicsMessageClearFlags(HelicsMessage message);
767
777HELICS_EXPORT void helicsMessageSetFlagOption(HelicsMessage message, int flag, HelicsBool flagValue, HelicsError* err);
778
787HELICS_EXPORT void helicsMessageSetString(HelicsMessage message, const char* data, HelicsError* err);
788
798HELICS_EXPORT void helicsMessageSetData(HelicsMessage message, const void* data, int inputDataLength, HelicsError* err);
799
808HELICS_EXPORT void helicsMessageSetDataBuffer(HelicsMessage message, HelicsDataBuffer data, HelicsError* err);
809
819HELICS_EXPORT void helicsMessageAppendData(HelicsMessage message, const void* data, int inputDataLength, HelicsError* err);
820
829HELICS_EXPORT void helicsMessageCopy(HelicsMessage src_message, HelicsMessage dst_message, HelicsError* err);
830
838HELICS_EXPORT HelicsMessage helicsMessageClone(HelicsMessage message, HelicsError* err);
839
847HELICS_EXPORT void helicsMessageFree(HelicsMessage message);
848
856HELICS_EXPORT void helicsMessageClear(HelicsMessage message, HelicsError* err);
857
859#ifdef __cplusplus
860} /* end of extern "C" { */
861#endif
862
863#endif /*HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_*/
HelicsEndpoint helicsFederateRegisterGlobalEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition MessageFederateExport.cpp:118
void helicsEndpointAddDestinationFilter(HelicsEndpoint endpoint, const char *filterName, HelicsError *err)
Definition MessageFederateExport.cpp:851
void helicsEndpointSendStringTo(HelicsEndpoint endpoint, const char *message, const char *dst, HelicsError *err)
Definition MessageFederateExport.cpp:260
void helicsEndpointSetDefaultDestination(HelicsEndpoint endpoint, const char *dst, HelicsError *err)
Definition MessageFederateExport.cpp:215
void helicsEndpointSendStringAt(HelicsEndpoint endpoint, const char *message, HelicsTime time, HelicsError *err)
Definition MessageFederateExport.cpp:274
HelicsBool helicsEndpointIsValid(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:206
void helicsEndpointAddSourceTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition MessageFederateExport.cpp:787
HelicsMessage helicsEndpointCreateMessage(HelicsEndpoint endpoint, HelicsError *err)
Definition MessageFederateExport.cpp:596
void helicsEndpointSendBytes(HelicsEndpoint endpoint, const void *data, int inputDataLength, HelicsError *err)
Definition MessageFederateExport.cpp:302
void helicsEndpointSubscribe(HelicsEndpoint endpoint, const char *key, HelicsError *err)
Definition MessageFederateExport.cpp:419
void helicsEndpointSendMessageZeroCopy(HelicsEndpoint endpoint, HelicsMessage message, HelicsError *err)
Definition MessageFederateExport.cpp:399
void helicsEndpointSetOption(HelicsEndpoint endpoint, int option, int value, HelicsError *err)
Definition MessageFederateExport.cpp:771
int helicsEndpointPendingMessageCount(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:463
int helicsEndpointGetOption(HelicsEndpoint endpoint, int option)
Definition MessageFederateExport.cpp:755
const char * helicsEndpointGetDefaultDestination(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:232
void helicsEndpointSendBytesAt(HelicsEndpoint endpoint, const void *data, int inputDataLength, HelicsTime time, HelicsError *err)
Definition MessageFederateExport.cpp:338
HelicsEndpoint helicsFederateRegisterTargetedEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition MessageFederateExport.cpp:97
HelicsEndpoint helicsFederateRegisterEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition MessageFederateExport.cpp:76
void helicsEndpointRemoveTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition MessageFederateExport.cpp:819
HelicsBool helicsEndpointHasMessage(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:445
void helicsEndpointSendMessage(HelicsEndpoint endpoint, HelicsMessage message, HelicsError *err)
Definition MessageFederateExport.cpp:381
void helicsEndpointSetTag(HelicsEndpoint endpoint, const char *tagname, const char *tagvalue, HelicsError *err)
Definition MessageFederateExport.cpp:739
void helicsEndpointSendString(HelicsEndpoint endpoint, const char *message, HelicsError *err)
Definition MessageFederateExport.cpp:242
HelicsMessage helicsFederateGetMessage(HelicsFederate fed)
Definition MessageFederateExport.cpp:569
HelicsBool helicsFederateHasMessage(HelicsFederate fed)
Definition MessageFederateExport.cpp:436
const char * helicsEndpointGetInfo(HelicsEndpoint end)
Definition MessageFederateExport.cpp:689
void helicsEndpointClearMessages(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:617
void helicsEndpointSendBytesTo(HelicsEndpoint endpoint, const void *data, int inputDataLength, const char *dst, HelicsError *err)
Definition MessageFederateExport.cpp:320
int helicsFederateGetEndpointCount(HelicsFederate fed)
Definition MessageFederateExport.cpp:679
void helicsFederateClearMessages(HelicsFederate fed)
Definition MessageFederateExport.cpp:608
HelicsEndpoint helicsFederateGetEndpoint(HelicsFederate fed, const char *name, HelicsError *err)
Definition MessageFederateExport.cpp:161
HelicsMessage helicsEndpointGetMessage(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:553
HelicsMessage helicsFederateCreateMessage(HelicsFederate fed, HelicsError *err)
Definition MessageFederateExport.cpp:587
HelicsEndpoint helicsFederateRegisterGlobalTargetedEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition MessageFederateExport.cpp:138
void helicsEndpointSendStringToAt(HelicsEndpoint endpoint, const char *message, const char *dst, HelicsTime time, HelicsError *err)
Definition MessageFederateExport.cpp:288
void helicsEndpointAddSourceFilter(HelicsEndpoint endpoint, const char *filterName, HelicsError *err)
Definition MessageFederateExport.cpp:835
int helicsFederatePendingMessageCount(HelicsFederate fed)
Definition MessageFederateExport.cpp:454
const char * helicsEndpointGetType(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:651
const char * helicsEndpointGetTag(HelicsEndpoint endpoint, const char *tagname)
Definition MessageFederateExport.cpp:722
HelicsEndpoint helicsFederateGetEndpointByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition MessageFederateExport.cpp:184
void helicsEndpointSendBytesToAt(HelicsEndpoint endpoint, const void *data, int inputDataLength, const char *dst, HelicsTime time, HelicsError *err)
Definition MessageFederateExport.cpp:356
const char * helicsEndpointGetName(HelicsEndpoint endpoint)
Definition MessageFederateExport.cpp:669
void helicsEndpointSetInfo(HelicsEndpoint endpoint, const char *info, HelicsError *err)
Definition MessageFederateExport.cpp:706
void helicsEndpointAddDestinationTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition MessageFederateExport.cpp:803
void * HelicsDataBuffer
Definition api-data.h:88
void * HelicsEndpoint
Definition api-data.h:37
double HelicsTime
Definition api-data.h:106
void * HelicsMessage
Definition api-data.h:100
int HelicsBool
Definition api-data.h:120
void * HelicsFederate
Definition api-data.h:65
const char * helicsMessageGetDestination(HelicsMessage message)
Definition MessageFederateExport.cpp:922
void helicsMessageAppendData(HelicsMessage message, const void *data, int inputDataLength, HelicsError *err)
Definition MessageFederateExport.cpp:1190
HelicsMessage helicsMessageClone(HelicsMessage message, HelicsError *err)
Definition MessageFederateExport.cpp:1228
void helicsMessageSetFlagOption(HelicsMessage message, int flag, HelicsBool flagValue, HelicsError *err)
Definition MessageFederateExport.cpp:1139
const char * helicsMessageGetOriginalSource(HelicsMessage message)
Definition MessageFederateExport.cpp:931
int helicsMessageGetByteCount(HelicsMessage message)
Definition MessageFederateExport.cpp:991
void helicsMessageSetDestination(HelicsMessage message, const char *dst, HelicsError *err)
Definition MessageFederateExport.cpp:1060
void helicsMessageResize(HelicsMessage message, int newSize, HelicsError *err)
Definition MessageFederateExport.cpp:1093
void helicsMessageClearFlags(HelicsMessage message)
Definition MessageFederateExport.cpp:1130
void helicsMessageSetData(HelicsMessage message, const void *data, int inputDataLength, HelicsError *err)
Definition MessageFederateExport.cpp:1167
const char * helicsMessageGetSource(HelicsMessage message)
Definition MessageFederateExport.cpp:913
void helicsMessageSetDataBuffer(HelicsMessage message, HelicsDataBuffer data, HelicsError *err)
Definition MessageFederateExport.cpp:1176
HelicsBool helicsMessageGetFlagOption(HelicsMessage message, int flag)
Definition MessageFederateExport.cpp:967
void helicsMessageSetString(HelicsMessage message, const char *data, HelicsError *err)
Definition MessageFederateExport.cpp:1157
HelicsDataBuffer helicsMessageDataBuffer(HelicsMessage message, HelicsError *err)
Definition MessageFederateExport.cpp:1033
void helicsMessageFree(HelicsMessage message)
Definition MessageFederateExport.cpp:1252
int helicsMessageGetMessageID(HelicsMessage message)
Definition MessageFederateExport.cpp:958
void helicsMessageClear(HelicsMessage message, HelicsError *err)
Definition MessageFederateExport.cpp:1199
void * helicsMessageGetBytesPointer(HelicsMessage message)
Definition MessageFederateExport.cpp:1024
void helicsMessageSetSource(HelicsMessage message, const char *src, HelicsError *err)
Definition MessageFederateExport.cpp:1051
void helicsMessageSetTime(HelicsMessage message, HelicsTime time, HelicsError *err)
Definition MessageFederateExport.cpp:1084
void helicsMessageSetOriginalDestination(HelicsMessage message, const char *dst, HelicsError *err)
Definition MessageFederateExport.cpp:1076
void helicsMessageCopy(HelicsMessage src_message, HelicsMessage dst_message, HelicsError *err)
Definition MessageFederateExport.cpp:1208
void helicsMessageReserve(HelicsMessage message, int reserveSize, HelicsError *err)
Definition MessageFederateExport.cpp:1107
const char * helicsMessageGetOriginalDestination(HelicsMessage message)
Definition MessageFederateExport.cpp:940
void helicsMessageSetOriginalSource(HelicsMessage message, const char *src, HelicsError *err)
Definition MessageFederateExport.cpp:1068
HelicsTime helicsMessageGetTime(HelicsMessage message)
Definition MessageFederateExport.cpp:949
void helicsMessageSetMessageID(HelicsMessage message, int32_t messageID, HelicsError *err)
Definition MessageFederateExport.cpp:1121
const char * helicsMessageGetString(HelicsMessage message)
Definition MessageFederateExport.cpp:980
HelicsBool helicsMessageIsValid(HelicsMessage message)
Definition MessageFederateExport.cpp:1042
void helicsMessageGetBytes(HelicsMessage message, void *data, int maxMessageLength, int *actualSize, HelicsError *err)
Definition MessageFederateExport.cpp:1000
Common functions for the HELICS C api.
Definition api-data.h:179