Commit Graph
31 Commits
Author SHA1 Message Date
Julius Pfrommer 7a419780ae refactor(tests): Make check_client_async_connect deterministic 2024-10-15 17:39:36 +02:00
Julius Pfrommer d6701cb9fb Merge branch '1.4' into merge_14_master_9
# Conflicts:
#	plugins/eventloop/posix/eventloop_posix_udp.c
2023-12-25 22:52:05 +01:00
Julius Pfrommer c136967af3 fix(test): Remove use of raw sleep() in all unit tests 2023-12-25 18:25:35 +01:00
Julius Pfrommer dd300f3eff refactor(tests): Set a custom "fake" clock in the EventLoop for unit tests 2023-10-04 10:56:26 +02:00
Julius Pfrommer c0d8225c12 fix(server): Return EndpointUrl in FindServers as the DiscoveryUrl
This pacifies some warnings in UAExpert.
2023-07-19 12:44:46 +02:00
Julius Pfrommer 99f56d3552 refactor(client): Simplify disconnect, add async SecureChannel disconnect 2023-06-01 23:20:31 +02:00
Julius Pfrommer b19cc6d78c refactor(core): Remove UA_SECURECHANNELSTATE_FRESH
Instead use UA_SECURECHANNELSTATE_CLOSED as the default.
This is the pattern used everywhere else as well.
2023-04-29 22:25:30 +02:00
Julius Pfrommer 4d5ceb378c Merge remote-tracking branch 'origin/1.3' into merge_13_master_12 2023-03-26 10:21:49 +02:00
Julius Pfrommer 7f3d6611a9 feat(client): Use the ApplicationURI to constrain results from FindServers and GetEndpoints
This is important to have for the fine-grained control over the
results from FindServers. Adding to the 1.3 branch as selecting the
correct result from FindServers may impact whether a connection
succeeds.
2023-02-14 00:40:31 +01:00
Andreas Eckerstorfer 022ad60723 fix (tests): Check server instance in UNIT tests
Failed UNIT tests caused an exception in the server loop, if the
server instance could not be created.
2023-01-31 00:07:18 +01:00
Julius Pfrommer 2cdafc1bb9 refactor(client): The client directly uses the new SecureChannel API 2022-08-05 09:13:05 +02:00
Julius Pfrommer e351a91798 fix(test): Remove hang in check_client_async_connect.c
The server does not have its own thread in here.
2022-07-25 23:37:07 +02:00
Julius Pfrommer c62ee1735d Merge remote-tracking branch 'origin/1.3' into merge_13_master_5 2022-07-25 23:37:07 +02:00
Alexander Bluhm 71770ba160 fix(client) connect iterate without timeout
Commit ef4394b114 may have fixed the
connect timeout, but it broke async connect without timeout.  That
made it impossible to continue processing during TCP handshake.
While the connect operation is in progress, the select system call
will return immediately if the timeout is 0.  Do not close the
connection in this case, but allow the application to call run_iterate()
again.  For the tests in the CI this makes no difference as connect
over Linux loopback interface succeeds immediately.
2022-07-24 08:28:47 +02:00
Julius Pfrommer de9d691906 refactor(client): Refactor NetworkCallback to make the unit tests work 2022-07-11 07:18:19 +02:00
Alexander Bluhm d40ce0724b fix(tests): network is not instant
The client itereate call without timeout in the tests works only
if the TCP connect is instant.  That seems to be the case for github
Linux continuous integration.  But it may fail on other operating
systems or in real live.  Set the iterate timeout after conntect
to 1 second.  That should be enough for loopback interface.

Also sending an async browse request may not reach the server before
iterating it.  A sleep(0) to reschedule the process is enough for
my setup.  Then the server can read the request from its socket.
2022-06-13 15:02:09 +02:00
Julius Pfrommer de5d26a860 refactor(el): Remove the old server networking code (replaced with EventLoop) 2022-04-20 20:35:29 +02:00
Martin Lang 262905bf20 refactor(core): Disambiguate UA_SECURECHANNELSTATE_FRESH from _CLOSED 2021-02-15 06:36:13 +01:00
Julius Pfrommer 7c23332027 refactor(test): Use _clear instead of _deleteMembers 2020-10-18 15:21:40 +02:00
Julius Pfrommer 7b40a01305 refactor(client): Remove long-time deprecated functions 2020-07-03 23:26:23 +02:00
Julius Pfrommer 97ce87470c feat(client): Track Session state separately 2020-05-05 09:33:57 +02:00
Julius Pfrommer cbde3c8803 refactor(client): Simplify the client connection API 2020-05-05 09:33:57 +02:00
Julius Pfrommer cde2a43662 refactor(test): No threading in check_client_async_connect.c 2020-02-29 13:09:46 +01:00
Julius Pfrommer 4d2eebca1c refactor(client): Clean up async connect 2020-02-29 13:09:46 +01:00
Julius Pfrommer fd08d012d9 Server: Initialize the config in the server 2019-04-23 00:41:32 +02:00
Stefan Profanter f19a6a1839 Stack: Correct include for architecture related headers
Fixes #2646
2019-04-18 08:01:45 +02:00
Stefan Profanter 63f3653ff1 Additional header cleanup and consistent name of ns generated files 2019-03-21 20:16:31 +01:00
Julius Pfrommer c9c818868f Move header files to a more unix-like structure
This commit drops the 'ua_' prefix and changes the public includes
to the form `#include <open62541/server.h>` instead of the old
`#include <ua_server.h>`
2019-03-21 20:16:31 +01:00
Julius Pfrommer b4c9fc37eb Client: Initialize client config inside the client structure
Temporarily disable encyrption
2019-01-30 18:45:42 +01:00
Jose Cabral fba3aa57a0 Get rid of some arch-dependant in examples and tests 2018-06-29 08:38:08 +02:00
StalderT 047c5e4098 WIP client : timed async service & async highlevel functions with client worker for 0.4 (#1598)
This commit adds asynchronous services to open62541 on client side

* Asynchronous service (highlevel read/write) are available through the API that is defined in
ua_client_highlevel_async.h

* Besides the services, the connection procedure is asynchronous as well.

* A client Application that uses the asynchronous API 
adds requests by calling an asynchronous service (e.g., UA_Client_sendAsyncReadRequest(), UA_Client_sendAsyncBrowseRequest() )
checks for response with UA_Client_run_iterate() repeatedly
and processes the responses with user-defined callbacks
2018-05-15 10:54:15 +02:00