[ 
https://issues.apache.org/jira/browse/THRIFT-3585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15128535#comment-15128535
 ] 

ASF GitHub Bot commented on THRIFT-3585:
----------------------------------------

Github user nsuke commented on the pull request:

    https://github.com/apache/thrift/pull/828#issuecomment-178683522
  
    Tested with `test/lua/test_basic_client.lua` and found several problems.
    Examples of problematic valus were negative i8 values (-128 ~ -1), some i32 
values (0x40000000, -1 ...), i64 values.
    For i64 values, we need it to work with `liblualongnumber.new`.
    
    I recommend you to run the test yourself. Here's how:
    
    1. pull master branch
    2. `make precross`
    3. in `test/go/bin` run `./testserver --protocol=compact 
--transport=framed` (leave it blocked)
    4. uncommend compact entry around line 75 in 
`test/lua/test_basic_client.lua`. also add require to compact
    5. in `test/lua` run `lua test_basic_client.lua --transport=framed 
--protocol=compact` with appropriate LUA_PATH and LUA_CPATH


> compact protocol implement of lua for thrift.
> ---------------------------------------------
>
>                 Key: THRIFT-3585
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3585
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Lua - Library
>    Affects Versions: 0.9.3
>         Environment: Linux Mac Windows
>            Reporter: WangYaofu
>              Labels: patch
>             Fix For: 0.9.4
>
>
> This is compact protocol lua implement for thrift.
> Here are some description for each source code file.
> luabpack.c
>  To add bits operation function for thrift compact protocol.
>  new functions:
>  
> l_i64ToZigza,l_i32ToZigzag,l_zigzagToI32,l_zigzagToI64,l_toVarint32,l_toVarint64,l_packMesgType.
> TCompactProtocol.lua
>  new source of lua for thrift compact protocol.
> compact_protocol_client.lua
>  test client source code for thrift compact protocol.
> compact_protocol_server.lua
>  test server source code for thrift compact protocol.
> rpc.thrift
>  test thrift IDL file for test 
> case(compact_protocol_client.lua,compact_protocol_server.lua).
> pcap offset hex of rpc test service.txt
>  This is dump file create by tcpdump for test case.
> Test cases:
>  client              <-------------->       server
>  compact_protocol_client.lua                compact_server.go (golang thrift 
> server)
>  compact_client.go (golang thrift client)   compact_protocol_server.lua
>  compact_protocol_client.lua                compact_protocol_server.lua
> Test console log:
> log for compact_protocol_client.lua:
> 1       return 1 by FunCall.
> 2       return 2 by FunCall.
> log for compact_protocol_server.lua:
> 53      54      12      43      11.22   str value
> 53      54      12      34      11.22   login
> name    namess
> pass    vpass
> 10      val10
> 20      val20
> ele1
> ele3
> ele2
> l1.
> l2.



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

Reply via email to