[ https://issues.apache.org/jira/browse/THRIFT-3585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15126013#comment-15126013 ]
ASF GitHub Bot commented on THRIFT-3585: ---------------------------------------- GitHub user mygityf opened a pull request: https://github.com/apache/thrift/pull/828 THRIFT-3585 Lua: compact protocol implement of lua for thrift. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gityf/thrift master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/828.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #828 ---- commit 0d0cf5aa589389d40a2bd71a9e09e790634aff36 Author: unknown <wangya...@xz-20141016zrqg.didichuxing.com> Date: 2016-01-28T11:08:05Z To check element of self whether nil or not,avoid the value(false) of BOOL is lost. eg. Before: if self.argBool then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end After: if self.argBool ~= nil then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end Why: the value(false) for paramater self.argBool will be lost when condition is 'if self.argBool then' as before. commit 8e61f5ae5cd82ede21d2fad0c67e9328a57a9bc5 Author: unknown <wangya...@xz-20141016zrqg.didichuxing.com> Date: 2016-01-28T11:29:54Z 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. commit e83cd0db71d3a4b19bf4cbe5a16156f6204e51fa Author: Wang Yaofu <voip...@sina.cn> Date: 2016-02-01T09:35:25Z update field table and index. ---- > 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)