Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework Thread and Communication concept #11

Closed
huebl opened this issue Oct 2, 2018 · 7 comments
Closed

Rework Thread and Communication concept #11

huebl opened this issue Oct 2, 2018 · 7 comments
Labels
enhancement New feature or request

Comments

@huebl
Copy link
Contributor

huebl commented Oct 2, 2018

The thread is currently single threaded. This is problematic in several ways.

  • The processing of slow tasks blocks other tasks

  • The application uses the same thread as the SDK.

  • The processor is not used optimally

@huebl huebl added the enhancement New feature or request label Oct 2, 2018
@huebl huebl changed the title Rework Thread concept Rework Thread and Communication concept Dec 26, 2018
@huebl
Copy link
Contributor Author

huebl commented Dec 26, 2018

In an OPC UA application, there are several software components that can work independently of each other. For communication between the various software components, a bus communication system should be used. The bus communication system is used for the asynchronous exchange of messages. Each participant in the bus communication system has a unique name. The bus communication system should provide the following feature.

  • Register and discover participants
  • Sending and receiving asynchronous messages between participants
  • Publish and subscribe to specific message types

In addition, the following functions should be supported.

  • The message exchange should work across process boundaries.
  • For creating new messages, the model based design should be supported.
  • Various transport media should be supported.

@huebl
Copy link
Contributor Author

huebl commented Dec 26, 2018

In all Software components of the application a uniform thread concept should be used. This concept should support the following concepts.

  • All operations should be performed by non-blocking tasks.
  • All operations are inserted into a queue and executed by one or more threads.

The following operations are supported.

  • Asynchronous tasks
  • Timer tasks
  • Socket Tasks
  • Message Tasks

@huebl
Copy link
Contributor Author

huebl commented Dec 27, 2018

If an application consists of several software components, there are often dependencies between the software components during startup. A software component can go through several init states during startup. These dependencies between the software components should be able to be set using the configuration file.

@huebl
Copy link
Contributor Author

huebl commented Jan 25, 2019

With this issue, a concept should first be worked out.

@huebl
Copy link
Contributor Author

huebl commented Feb 1, 2019

In the first step, only a documentation is to be created.

@atimin
Copy link
Member

atimin commented Jun 21, 2019

`The thread is currently single threaded. This is problematic in several

I have a problem with the stack when an OPC UA client tries to communicate with the server by using several threads. If one of them is stuck, the session is closed by timeout. In this case, I consider the problem as a single-threaded session. Maybe there is a better word to express the problem concisely.

@huebl
Copy link
Contributor Author

huebl commented Dec 29, 2019

This feature is to be implemented with Issue #339. For this reason the feature is closed.

@huebl huebl closed this as completed Dec 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants