You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/08/01 21:05:20 UTC

[jira] [Work logged] (TS-4523) Add the ability to pause/resume data consumption in the CPP API

     [ https://issues.apache.org/jira/browse/TS-4523?focusedWorklogId=26127&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26127 ]

ASF GitHub Bot logged work on TS-4523:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 01/Aug/16 21:04
            Start Date: 01/Aug/16 21:04
    Worklog Time Spent: 10m 
      Work Description: Github user ushachar commented on the issue:

    https://github.com/apache/trafficserver/pull/712
  
    Yep. Getting back to this asap....


Issue Time Tracking
-------------------

    Worklog Id:     (was: 26127)
    Time Spent: 20m  (was: 10m)

> Add the ability to pause/resume data consumption in the CPP API
> ---------------------------------------------------------------
>
>                 Key: TS-4523
>                 URL: https://issues.apache.org/jira/browse/TS-4523
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Plugins
>            Reporter: David Ben Zakai
>            Assignee: Uri Shachar
>             Fix For: 7.0.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I'd like to suggest an API change in the CPP API Transformation interface.
> My own use case is that I'd like to be able to pause the transformation, handle what I can from the file and release the buffered content before resuming and releasing the rest of the data.
> Basically what I'm trying to achieve:
> Write data to file (up to a certain amount)
> File analysis
> Produce file data (and any leftovers) downstream
> When the file size reaches a certain size limit I'd like to be able to pause the transformation and produce all of its content downstream and then resume the transformation.
> API Changes:
> TransformationPlugin.h:
> /**
> * Call this method if you wish to pause the transformation.
> * Schedule the return value continuation to resume the transforamtion.
> * If the continuation is scheduled and called after the transform is destroyed it will 
> * won't do anything beyond cleanups.
> * Note: You must schedule the continuation or destroy it (using TSContDestroy) yourself, 
> * otherwise it will leak.
> */
> TSCont pause();
> Internally, the continuation wraps the "resumeCallback" static function:
> static int resumeCallback(TSCont cont, TSEvent event, void *edata); /** Resume callback*/
> Thank you!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)