1) I would expect some changes in the CPP API but it will remain compile
compatible during a major version. It is used in production in multiple
deployments.
2) I am unfortunately not familiar with the TransformPlugin class.
3) Your changes seem sensible. Certainly it is a thing that's been done in the
raw C API so I see no reason it shouldn't be doable in the CPP API.
On Tuesday, November 29, 2016 7:50 AM, Christopher Reynolds
<[email protected]> wrote:
Hi,
I have been investigating this API (primarily the transformation class) to see
whether it could be used rather than the lower level functions.
I have a few questions.
1. Is this API ready for production use? I.e. is it still being updated
regularly and will the interface change?
2. The TransformationPlugin class seems to be designed to handle small
uploads and downloads. I assume this because although the consume method
provides a buffer which you can store how you wish, the produce method has to
be provided with all the data in one go in the handleInputComplete method.
I modified to the class source to expose the writeReady functionality and this
solved the problem. Now I can call produce when the writeReady method is
called. I also had to modify the code so the post data was not stored
internally and to always set the total length of the output buffer when calling
TSVConnWrite.
Am I correct about this class being designed for small buffers? Do the changes
I have describe make sense and would it be worth updating the class with them?
I cannot easily add this functionality to my derived TransformationPlugin as
the handleTransformationPluginEvents function in the TransformationPlugin code
is not overridable (as it is not in the class) and this is where events are
handled.
3. I am using this class to send data to an engine to scan it - this can
take some time. There did not seem to be a way of, after buffering all the data
(in handleInputComplete), to start producing data at a later stage.
I modified the source to allow the scheduling of an immediate event and then
exposed the immediate event handler. So then after the engine has scanned the
data (in a different thread) an immediate event is scheduled and then in the
event handler data is produced.
Do these changes make sense? Again I cannot easily add this functionality to my
derived TransformationPlugin as the handleTransformationPluginEvents function
in the TransformationPlugin code is not overridable (as it is not in the class)
and this is where events are handled.
So to summarise I am asking whether it is sensible to use the
TransformationPlugin, modify it and get the changes back into the main source
line or maybe to use the ideas from it and write my own one.
Thank-you.
Christopher Reynolds
Team Leader
[Telephone] +44 118 903 8611
[Twitter]@clearswift
[Clearswift] <http://www.clearswift.com/>
1310 Waterside | Arlington Business Park | Theale | Berkshire | RG7 4SA |
United Kingdom
RELEASED: Clearswift v4.5 Gateways. Upgrade to the latest Clearswift technology
today. Learn more
here.<https://www.clearswift.com/training-and-support/migration-and-upgrades>
This e-mail and any files transmitted with it are strictly confidential, may be
privileged and are intended only for use by the addressee unless otherwise
indicated. If you are not the intended recipient any use, dissemination,
printing or copying is strictly prohibited and may be unlawful. If you have
received this e-mail in error, please delete it immediately and contact the
sender as soon as possible. Clearswift cannot be held liable for delays in
receipt of an email or any errors in its content. Clearswift accepts no
responsibility once an e-mail and any attachments leave us. Unless expressly
stated, opinions in this message are those of the individual sender and not of
Clearswift.
This email message has been inspected by Clearswift for inappropriate content
and security threats.
To find out more about Clearswift’s solutions please visit www.clearswift.com