ua_transport_connection.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef UA_TRANSPORT_CONNECTION_H_
  2. #define UA_TRANSPORT_CONNECTION_H_
  3. #include "ua_transport.h"
  4. typedef struct TL_Buffer{
  5. UA_UInt32 protocolVersion;
  6. UA_UInt32 sendBufferSize;
  7. UA_UInt32 recvBufferSize;
  8. UA_UInt32 maxMessageSize;
  9. UA_UInt32 maxChunkCount;
  10. } TL_Buffer;
  11. struct UA_TL_Connection;
  12. typedef struct UA_TL_Connection UA_TL_Connection;
  13. typedef UA_Int32 (*TL_Closer)(UA_TL_Connection*);
  14. typedef UA_Int32 (*TL_Writer)(UA_Int32 connectionHandle, const UA_ByteString** gather_bufs, UA_Int32 gather_len); // send mutiple buffer concatenated into one msg (zero copy)
  15. UA_Int32 UA_TL_Connection_configByHello(UA_TL_Connection *connection, UA_OPCUATcpHelloMessage *helloMessage);
  16. UA_Int32 UA_TL_Connection_delete(UA_TL_Connection *connection);
  17. UA_Int32 UA_TL_Connection_callWriter(UA_TL_Connection *connection, const UA_ByteString** gather_bufs, UA_Int32 gather_len);
  18. UA_Int32 UA_TL_Connection_close(UA_TL_Connection *connection);
  19. UA_Int32 UA_TL_Connection_new(UA_TL_Connection **connection, TL_Buffer localBuffers,TL_Writer writer, TL_Closer closeCallback,UA_Int32 handle, void* networkLayerData);
  20. UA_Int32 UA_TL_Connection_bind(UA_TL_Connection *connection, UA_Int32 handle);
  21. UA_Boolean UA_TL_Connection_compare(UA_TL_Connection *connection1, UA_TL_Connection *connection2);
  22. //setters
  23. UA_Int32 UA_TL_Connection_setState(UA_TL_Connection *connection, UA_Int32 connectionState);
  24. UA_Int32 UA_TL_Connection_setWriter(UA_TL_Connection *connection, TL_Writer writer);
  25. //UA_Int32 UA_TL_Connection_setConnectionHandle(UA_TL_Connection *connection, UA_Int32 connectionHandle);
  26. //getters
  27. UA_Int32 UA_TL_Connection_getHandle(UA_TL_Connection *connection, UA_UInt32 *connectionId);
  28. UA_Int32 UA_TL_Connection_getProtocolVersion(UA_TL_Connection *connection, UA_UInt32 *protocolVersion);
  29. UA_Int32 UA_TL_Connection_getState(UA_TL_Connection *connection, UA_Int32 *connectionState);
  30. UA_Int32 UA_TL_Connection_getLocalConfig(UA_TL_Connection *connection, TL_Buffer *localConfiguration);
  31. UA_Int32 UA_TL_Connection_getNetworkLayerData(UA_TL_Connection *connection,void** networkLayerData);
  32. #endif /* UA_TRANSPORT_CONNECTION_H_ */