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

Support multiple server instances and reconnecting clients #4

Open
xl600 opened this issue May 22, 2017 · 1 comment
Open

Support multiple server instances and reconnecting clients #4

xl600 opened this issue May 22, 2017 · 1 comment

Comments

@xl600
Copy link

xl600 commented May 22, 2017

The current CCC (VIPM 3.0.3.9) doesn't handle multiple server instances (On unique ports) cleanly nor can clients reconnect to the server with differing tag lists configurations.

A very small change can enable this capability simply by recognizing the CVT attempts to optimize read/write groups by caching their configuration based on group names. If the group name changes, CVT will create new groups with new configurations. This, the server needs to provide a means to delete read/write groups on disconnect so that the next connection will create new groups entirely.

Additionally, the client name (IP address + port number) needs a 'session ID' so that the server (STM) properly handles re-connections as entirely new connections.

These changes enable the following capabilities:

  • Multiple servers being queried at differing rates with different read/write tag lists (EX: High speed and low speed).
  • Asynchronous synchronization (Client connect, configure, modify, disconnect). In-efficient, but useful for one-shot transfer of large tags (EX: Flattened structures) that change very infrequently.
  • Adaptable client that uses the asynchronous capability to configure itself to any server (EX: Client first reads an ALL_TAGS structure provided by the server which defines all available tags, their direction, and types. The client can then reconnect using the discovered tags. This is useful for a remote CVT debugger).
@xl600
Copy link
Author

xl600 commented May 22, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant