File Transfer Rework

Description

Rework FileTransfer (currently in samples) to make it a generic S2OPC server module.

Code version identification

0c251792

Current behavior

issue #2 on internal repo.

Expected behavior

The main change is to replace the file's internal storage mode (during all processes): File (before) -> Byte string (after enhancement)

Security impact

  • Beware of overflowing file size?

Implementation

  • Internal storage : ByteString
  • User Cb: on open and close methods (offers the user the possibility of downloading/saving content in a hard file on their own.

Limitations :

  • Allows only one simultaneous opening per file.
  • A file handle remains valid on close session (standard OPC UA deviation).
  • UserWritable variable are not supported (initialize to true at the first open method call, when Writable variable is not defined)

To-Do:

  • Rebase toolkit_demo_file_transfer on new implementation
  • Write tests
  • change the adddress space of toolkit_demo_file_transfer_new. rename it toolkit_demo_server_file_transfer (generate a dedicated AS)
  • Move to thread safe Dictionary when available : #1574
Edited by Sebastien Tajan
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information