FileTransferEntry

template<typename OutputSessionClass>
class kanzi::connect::FileTransferEntry

Can handle transferring a file in blocks over connection adapter.

Public Functions

inline FileTransferEntry(const string &uri, vector<char> &buffer, unsigned int handle, weak_ptr<OutputSessionClass> session, unsigned int blockSize, unsigned int timeout_ms)

Constructor.

Parameters
  • uri: Identifies the file

  • buffer: Contains the data to send

  • handle: Identifies the file transfer when there are multiple blocks being sent

  • session: Implements the actual output used to send

  • blockSize: How big is one single block that is transferred on one go

  • timeout_ms: The server will inform the client how long to wait for the entire transaction to complete

inline virtual ~FileTransferEntry()

dtor

inline bool done() const

Has the transfer finished.

Return

True if yes

inline unsigned int handle() const

Get the identification handle of this transfer.

Return

the handle

inline bool matches(const string &uri, shared_ptr<OutputSessionClass> session) const

Do the given arguments match this transfer.

Parameters
  • uri: Identify the file

  • session: The session which does the transfer

inline void progress()

Progress the transfer by sending one block.