You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jordan (JIRA)" <ji...@apache.org> on 2010/07/25 22:12:03 UTC

[jira] Created: (THRIFT-829) Need assistance in getting ramped up on code base.

Need assistance in getting ramped up on code base. 
---------------------------------------------------

                 Key: THRIFT-829
                 URL: https://issues.apache.org/jira/browse/THRIFT-829
             Project: Thrift
          Issue Type: Question
          Components: Compiler (JavaScript)
            Reporter: Jordan


So, it seems like getting the TJSONProtocol parsing on the client is kind of tricky. 
In the long term, I'd love to help, and if someone is available to meet on the phone, in order to go over some of the code base, including thrift.js, TJSONProtocol, please let me know. I'm available every day to chat. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-829) Need assistance in getting ramped up on code base.

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12892993#action_12892993 ] 

Roger Meier commented on THRIFT-829:
------------------------------------

Hi Jordan

my assumtion is, that the eval function (load json response from thrift server into an object) on line 464 ([thrift.js | http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/js/thrift.js?view=markup]) and rstack approach goes into the wrong direction.
{code}
    // Reading functions
    readMessageBegin : function(name, messageType, seqid){
        this.rstack = new Array()
        this.rpos   = new Array()
       
        this.robj = eval(this.transport.readAll())
        
        var r = {}     
        var version = this.robj.shift()
        
        if(version != Thrift.Protocol.Version){
            throw "Wrong thrift protocol version: "+version
        }

        r["fname"]  = this.robj.shift()
        r["mtype"]  = this.robj.shift()
        r["rseqid"] = this.robj.shift()
        
        
        //get to the main obj
        this.rstack.push(this.robj.shift())
      
        return r
    },
{code}

I propose reimplementing the JSON protocol by doing manual parsing as on other Implementations.

The C++ [TJSONProtocol.cpp|http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/cpp/src/protocol/TJSONProtocol.cpp?view=markup] might be a good starting point for that. A Binary Protocol implementation can be done in the same way in a later step.

I think the javascript compiler is heavily inspired by the cpp version and does the right thing, the real issue are coming from thrift.js and the Javascript eval() approach.




> Need assistance in getting ramped up on code base. 
> ---------------------------------------------------
>
>                 Key: THRIFT-829
>                 URL: https://issues.apache.org/jira/browse/THRIFT-829
>             Project: Thrift
>          Issue Type: Question
>          Components: Compiler (JavaScript)
>            Reporter: Jordan
>
> So, it seems like getting the TJSONProtocol parsing on the client is kind of tricky. 
> In the long term, I'd love to help, and if someone is available to meet on the phone, in order to go over some of the code base, including thrift.js, TJSONProtocol, please let me know. I'm available every day to chat. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (THRIFT-829) Need assistance in getting ramped up on code base.

Posted by "T Jake Luciani (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

T Jake Luciani closed THRIFT-829.
---------------------------------

    Resolution: Invalid

Please ask questions like this on the mailing list, not JIRA

> Need assistance in getting ramped up on code base. 
> ---------------------------------------------------
>
>                 Key: THRIFT-829
>                 URL: https://issues.apache.org/jira/browse/THRIFT-829
>             Project: Thrift
>          Issue Type: Question
>          Components: Compiler (JavaScript)
>            Reporter: Jordan
>
> So, it seems like getting the TJSONProtocol parsing on the client is kind of tricky. 
> In the long term, I'd love to help, and if someone is available to meet on the phone, in order to go over some of the code base, including thrift.js, TJSONProtocol, please let me know. I'm available every day to chat. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.