Hi,

Can you create a JIRA issue for this, and I'll test it?

Thanks,
Ben


Ury wrote:

Hi !

i have question about erlang framed transport:

i start a server:

   thrift_socket_server:start([{handler, Handler},
                               {service, queue_thrift},
                               {port, Port},
                               {framed, true},
                               {name, q_server}]).

on client side:

   {ok, Client} = thrift_client:start_link("127.0.0.1",
                                           Port,
                                           queue_thrift,
                                           [{framed, true}]
                                           ),
{ok, Res} = thrift_client:call(Client, 'push', ["qname1", "somevalue1"]),
   io:format("push rc ~p~n", [Res]),

   {ok, Res1} = thrift_client:call(Client, 'pop', ["qname1"]),
   io:format("pop = ~p~n", [Res1]),

second call( to pop) is failed:
but i can see that server is reached (by debug print)

error is:
** exception exit: {case_clause,{error,no_binary_protocol_version}}
    in function  thrift_client:read_result/3
    in call from thrift_client:catch_function_exceptions/2
    in call from thrift_client:handle_call/3
    in call from gen_server:handle_msg/5
    in call from proc_lib:init_p/5

if i set framed to false - then all is working.

thrift interface is:

       i16 push(
               1:string name,
               2:binary data
       )
       binary pop(
               1:string name
       )

Reply via email to