[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16205080#comment-16205080 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 Jus great, thank you! > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15878848#comment-15878848 ] ASF GitHub Bot commented on THRIFT-3706: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/1200 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877819#comment-15877819 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1200 Thank you for answers I learnt a lot > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877817#comment-15877817 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102412630 --- Diff: lib/java/test/org/apache/thrift/test/TestServer.java --- @@ -190,7 +193,9 @@ public static void main(String [] args) { if (protocol_type.equals("binary")) { } else if (protocol_type.equals("compact")) { } else if (protocol_type.equals("json")) { -} else if (protocol_type.equals("multiplexed")) { +} else if (protocol_type.equals("multi")) { --- End diff -- ok > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877814#comment-15877814 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102412439 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_protocol.c --- @@ -61,15 +61,15 @@ thrift_protocol_set_property (GObject *object, guint property_id, switch (property_id) { case PROP_THRIFT_PROTOCOL_TRANSPORT: - protocol->transport = g_value_get_object (value); --- End diff -- Ok. As long as the reference count is guaranteed to be well managed. And it seems because you added the finalize method it should be okay. But I think this breaks RAII. Since the application can get the resource and free it but the resource will outlive the requester inside this class. But I come from C/C++ and maybe RAII doesn't apply quite well here because the reference counter. I will study about it a little bit. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877810#comment-15877810 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102411428 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_multiplexed_protocol.c --- @@ -42,146 +41,119 @@ static GParamSpec *thrift_multiplexed_protocol_obj_properties[PROP_THRIFT_MULTIP gint32 thrift_multiplexed_protocol_write_message_begin (ThriftMultiplexedProtocol *protocol, - const gchar *name, const ThriftMessageType message_type, - const gint32 seqid, GError **error) +const gchar *name, const ThriftMessageType message_type, +const gint32 seqid, GError **error) { - gint32 ret; - gchar *service_name = NULL; - g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); + gint32 ret; + gchar *service_name = NULL; + g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); - ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); - ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); + ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); + ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); + ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); - if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { - service_name = g_strdup_printf("%s%s%s", self->service_name, self->separator, name); + if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { +service_name = g_strdup_printf("%s%s%s", self->service_name, THRIFT_MULTIPLEXED_PROTOCOL_DEFAULT_SEPARATOR, name); + }else{ +service_name = g_strdup(name); + } - }else{ - service_name = g_strdup(name); - } + // relay to the protocol_decorator + ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); - // relay to the protocol_decorator - ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); + g_free(service_name); - g_free(service_name); - - return ret; + return ret; } - - static void thrift_multiplexed_protocol_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) +guint property_id, +const GValue *value, +GParamSpec *pspec) { - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (object); - - switch (property_id) - { - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SERVICE_NAME: - if(self->service_name!=NULL) - g_free (self->service_name); - self->service_name= g_value_dup_string (value); - break; - - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SEPARATOR: --- End diff -- Ok. Then I agree. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877401#comment-15877401 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1200 Pushed an empty commit to get a clean CI build, despite the fact that the only Travis CI build failure was environmental (couldn't reach a docker server). > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877110#comment-15877110 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1200 @gadLinux thank you for such a thorough review. All good questions, hopefully my answers make sense. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877108#comment-15877108 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102357395 --- Diff: lib/java/test/org/apache/thrift/test/TestServer.java --- @@ -190,7 +193,9 @@ public static void main(String [] args) { if (protocol_type.equals("binary")) { } else if (protocol_type.equals("compact")) { } else if (protocol_type.equals("json")) { -} else if (protocol_type.equals("multiplexed")) { +} else if (protocol_type.equals("multi")) { --- End diff -- I did it this way to work within the spec:impl naming convention that currently exists in make cross. See tests.json, specifically "binary:accel" or "compact:accelc". I wanted to follow the pattern that already existed in the test suite so we have a single use pattern, not two. In the end the behavior is mostly the same, except by using "multi:binary" on the java server and "binary:multi" on the c_glib client, we end up testing: c_glib (binary client) => java (multi server) as well as c_glib (multi client wrapping binary) => java (multi server wrapping binary). Using the "multiplexed-binary" naming convention would not have leveraged the existing logic in crosstest/collect.py to make this happen. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877101#comment-15877101 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102356989 --- Diff: lib/c_glib/src/thrift/c_glib/transport/thrift_socket.h --- @@ -50,11 +50,8 @@ struct _ThriftSocket /* private */ gchar *hostname; - gshort port; + guint port; int sd; - guint8 *buf; --- End diff -- "buf" is not used anywhere in thrift_socket.c and it was marked as private. This means it was there for no reason that's useful. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15877096#comment-15877096 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102356814 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_protocol.c --- @@ -61,15 +61,15 @@ thrift_protocol_set_property (GObject *object, guint property_id, switch (property_id) { case PROP_THRIFT_PROTOCOL_TRANSPORT: - protocol->transport = g_value_get_object (value); --- End diff -- "should" live as long. Why should we impose a requirement that the consuming application, using an object oriented-ish language like glib, be required to ensure the underlying transport outlives the protocol that is consuming it? The copy should not lead to memory issues because the dispose method in this class unreferences and clears the pointer. This means the consuming application does a g_object_new, that's one reference. The protocol consumes it, that's a second reference. If the consuming application were to unref the transport, it would crash. But by using reference counts on objects the way they were intended to be used, a consuming application could quite literally unref everything but the server before serve() and then unref the server when it returns, and there would be no leaks or problems. I don't think it's a good practice to force the consuming application to guarantee the lifetime of pointers that reference each-other when the object library itself provides reference counting and garbage collection. That's why I changed it here and in other classes like ThriftServer. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876818#comment-15876818 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102329070 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_multiplexed_protocol.c --- @@ -42,146 +41,119 @@ static GParamSpec *thrift_multiplexed_protocol_obj_properties[PROP_THRIFT_MULTIP gint32 thrift_multiplexed_protocol_write_message_begin (ThriftMultiplexedProtocol *protocol, - const gchar *name, const ThriftMessageType message_type, - const gint32 seqid, GError **error) +const gchar *name, const ThriftMessageType message_type, +const gint32 seqid, GError **error) { - gint32 ret; - gchar *service_name = NULL; - g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); + gint32 ret; + gchar *service_name = NULL; + g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); - ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); - ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); + ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); + ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); + ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); - if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { - service_name = g_strdup_printf("%s%s%s", self->service_name, self->separator, name); + if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { +service_name = g_strdup_printf("%s%s%s", self->service_name, THRIFT_MULTIPLEXED_PROTOCOL_DEFAULT_SEPARATOR, name); + }else{ +service_name = g_strdup(name); + } - }else{ - service_name = g_strdup(name); - } + // relay to the protocol_decorator + ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); - // relay to the protocol_decorator - ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); + g_free(service_name); - g_free(service_name); - - return ret; + return ret; } - - static void thrift_multiplexed_protocol_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) +guint property_id, +const GValue *value, +GParamSpec *pspec) { - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (object); - - switch (property_id) - { - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SERVICE_NAME: - if(self->service_name!=NULL) - g_free (self->service_name); - self->service_name= g_value_dup_string (value); - break; - - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SEPARATOR: --- End diff -- Suppose a protocol or transport that add a separator to the packet to, for example, add a header of encryption. And the separator is the same. It may be confused because found twice, once for the protocol and another for the multiplexed. Changing the multiplexed separator will fix the possible issue. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876810#comment-15876810 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102328202 --- Diff: lib/java/test/org/apache/thrift/test/TestServer.java --- @@ -190,7 +193,9 @@ public static void main(String [] args) { if (protocol_type.equals("binary")) { } else if (protocol_type.equals("compact")) { } else if (protocol_type.equals("json")) { -} else if (protocol_type.equals("multiplexed")) { +} else if (protocol_type.equals("multi")) { --- End diff -- I don't know much about tests. But you can get crazy here if there's a lot of procotols. I suggest what I did. Adding a prefix and sufix. The prefix can be matched against multiplexed (multi) the suffix is the name of the protocol of the underlaying implementation. This convention doesn't add anything to the code. And makes you be ready for the multiplexed whether a new protocol is added with no effort. Convention over configuration. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876811#comment-15876811 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102326459 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_protocol.c --- @@ -549,12 +549,27 @@ thrift_protocol_init (ThriftProtocol *protocol) } static void +thrift_protocol_dispose (GObject *gobject) +{ + ThriftProtocol *self = THRIFT_PROTOCOL (gobject); + + g_clear_object(>transport); + + /* Always chain up to the parent class; there is no need to check if + * the parent class implements the dispose() virtual function: it is + * always guaranteed to do so + */ + G_OBJECT_CLASS (thrift_protocol_parent_class)->dispose(gobject); --- End diff -- Yes I forgot that! Sorry. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876807#comment-15876807 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102325143 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_multiplexed_protocol.c --- @@ -42,146 +41,119 @@ static GParamSpec *thrift_multiplexed_protocol_obj_properties[PROP_THRIFT_MULTIP gint32 thrift_multiplexed_protocol_write_message_begin (ThriftMultiplexedProtocol *protocol, - const gchar *name, const ThriftMessageType message_type, - const gint32 seqid, GError **error) +const gchar *name, const ThriftMessageType message_type, +const gint32 seqid, GError **error) { - gint32 ret; - gchar *service_name = NULL; - g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); + gint32 ret; + gchar *service_name = NULL; + g_return_val_if_fail (THRIFT_IS_MULTIPLEXED_PROTOCOL (protocol), -1); - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); - ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); - ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); + ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (protocol); + ThriftMultiplexedProtocolClass *multiplexClass = THRIFT_MULTIPLEXED_PROTOCOL_GET_CLASS(self); + ThriftProtocolClass *cls = THRIFT_PROTOCOL_CLASS (multiplexClass); - if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { - service_name = g_strdup_printf("%s%s%s", self->service_name, self->separator, name); + if( (message_type == T_CALL || message_type == T_ONEWAY) && self->service_name != NULL) { +service_name = g_strdup_printf("%s%s%s", self->service_name, THRIFT_MULTIPLEXED_PROTOCOL_DEFAULT_SEPARATOR, name); + }else{ +service_name = g_strdup(name); + } - }else{ - service_name = g_strdup(name); - } + // relay to the protocol_decorator + ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); - // relay to the protocol_decorator - ret = thrift_protocol_decorator_write_message_begin(protocol, service_name, message_type, seqid, error); + g_free(service_name); - g_free(service_name); - - return ret; + return ret; } - - static void thrift_multiplexed_protocol_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) +guint property_id, +const GValue *value, +GParamSpec *pspec) { - ThriftMultiplexedProtocol *self = THRIFT_MULTIPLEXED_PROTOCOL (object); - - switch (property_id) - { - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SERVICE_NAME: - if(self->service_name!=NULL) - g_free (self->service_name); - self->service_name= g_value_dup_string (value); - break; - - case PROP_THRIFT_MULTIPLEXED_PROTOCOL_SEPARATOR: --- End diff -- Why you did remove the ability to select the separator. It seems that Java and maybe others support it. Think that some protocols may required to change it to something special to make it work. I would leave it. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876809#comment-15876809 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102326623 --- Diff: lib/c_glib/src/thrift/c_glib/server/thrift_server.c --- @@ -76,22 +76,22 @@ thrift_server_set_property (GObject *object, guint property_id, switch (property_id) { case PROP_THRIFT_SERVER_PROCESSOR: - server->processor = g_value_get_object (value); --- End diff -- Same here. Are you sure you must duplicate them? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876806#comment-15876806 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102327046 --- Diff: lib/c_glib/src/thrift/c_glib/transport/thrift_socket.h --- @@ -50,11 +50,8 @@ struct _ThriftSocket /* private */ gchar *hostname; - gshort port; + guint port; int sd; - guint8 *buf; --- End diff -- This is the default implementation of the socket. Are you sure about it? If this is changed I suppose this should be done in it's own ticket. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876808#comment-15876808 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on a diff in the pull request: https://github.com/apache/thrift/pull/1200#discussion_r102326250 --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_protocol.c --- @@ -61,15 +61,15 @@ thrift_protocol_set_property (GObject *object, guint property_id, switch (property_id) { case PROP_THRIFT_PROTOCOL_TRANSPORT: - protocol->transport = g_value_get_object (value); --- End diff -- Why you duplicate it? The underlaying transport should live as long as the multiplexed one. And must be destroyed after protocol is destroyed. Duplicating the transport may lead to object references hold and maybe memory freeing problems. I think this property must hold a reference to it and not a copy. The copy can lead to memory freeing problems. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876726#comment-15876726 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1200 Build failure attributed to the fix for THRIFT-4076. I reopened it, I will submit a PR for that and make sure it works, and then rebase this one to fix the Appveyor issue. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15876502#comment-15876502 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1199 @gadLinux if you could review PR #1200 I would appreciate it. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15875629#comment-15875629 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1199 Greta, tell me if you need something from me. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: James E. King, III > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874966#comment-15874966 ] ASF GitHub Bot commented on THRIFT-3706: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/1199 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874965#comment-15874965 ] ASF GitHub Bot commented on THRIFT-3706: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/1191 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.11.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874955#comment-15874955 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1199 The failure here is environmental (write error). I'll squash and merge. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874851#comment-15874851 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 Weird, I'm not exactly sure what happened here, but I submitted a new PR rebased against master incorporating your changes here and I added one more commit - see PR #1199. If that passes I'll squash my commit into yours down to a single commit so you show up as the author of the pull request into the master when I merge it in. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874849#comment-15874849 ] ASF GitHub Bot commented on THRIFT-3706: GitHub user jeking3 opened a pull request: https://github.com/apache/thrift/pull/1199 THRIFT-3706 - Implement multiplex protocol and crosstest for c_glib client, java server I added one commit to https://github.com/apache/thrift/pull/1191 to make it work with crosstest, and rebased against master. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift thrift-3706 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1199.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 #1199 commit 61d8cb372e0d00f5d509d0bf440673ddb1d23642 Author: Gonzalo Aguilar DelgadoDate: 2016-03-04T12:16:22Z Implement multiplexed protocol commit d62dfbbff6f0d9f162c43793958cba9fe9834deb Author: Gonzalo Aguilar Delgado Date: 2016-03-05T00:21:27Z Implement protocol multiplexor. For me there are a pair of things missing. Implement protocol decorator. commit 86994fd0e9cd08457c37b66e723176a31703bdcb Author: Gonzalo Aguilar Delgado Date: 2016-03-28T23:08:52Z Fix protocol decorator cause it failed to register list cls->read_list_end on thrift_protocol_decorator_class_init Change log to debug commit fc70bef51faa0e9acf1dc284b8bd4556853259cf Author: Gonzalo Aguilar Delgado Date: 2017-02-15T09:10:05Z Add Multiplexed protocol to the test commit 88a7d134f19f84f8ba98d5a00251a8c248b40a00 Author: Gonzalo Aguilar Delgado Date: 2017-02-15T10:54:30Z Add multiplexed binary tests against java commit c2579a1b15b85eb6ee72b9778ba96d00ff7cdc17 Author: James E. King, III Date: 2017-02-20T16:49:07Z simplify protocol for multiplexed crosstest and add a second processor on the java server - this will also run in Travis CI because I already added support for multiplexed protocol in jobs #1 and #2 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874828#comment-15874828 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 I cannot do it since this commit is in thrift main outside master. So I cannot see it. You cannot merge because this branch is still not merged so it's still in my fork. You can merge and then apply the patch you want. Otherwise the only way I think is to make a patch. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874806#comment-15874806 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 @gadLinux for some reason I cannot send you a PR for this one like I had before, possibly because I rebased on master. If you cherry-pick b2e4e1464b74733ccf78afd68abbe94b92aec96a from my repository it will give you the changes you should need. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874795#comment-15874795 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 Well I was hoping the multiplexed implementation was compatible with older clients using binary protocol but it is not. I'm going to send you a PR that changes the Java Server and the c_glib client to work with "multiplexed" as a protocol; we will use binary protocol under all the multiplexed protocol tests. I added support in the java test server to have a second registered processor. It would be nice to augment c_glib to test against "Second" as well as "ThriftTest" so that we're actually testing the multiplexing part. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15874182#comment-15874182 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 Did you see that the test is working against Java? If you try a connection with and without multiplexed in one of the ends the connection doesn't work. The only way to see if the data is sent correctly is by using wireshark and see how the prefix is automatically added to the service. And processed in the server end. What do you need to merge? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15873392#comment-15873392 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 I'm not going to merge it until it passes make cross with multiplexed protocol. There's nothing in the pull request and the build system that proves it works and will keep working. I am working on THRIFT-4084 right now, I will see if I can get to it soon if you do not. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15873356#comment-15873356 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 Hi Jeking3, Why don't you merge it and add a new issue for others to add multiplexing protocol? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15873295#comment-15873295 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 I added "multiplexed" support to make cross in Travis CI if you rebase on master. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15869553#comment-15869553 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 I must say that like the SSL patch this is already tested in production. Java vs c_glib. We have to add support for the Server c_glib and Client Java. But I suppose this time it will work without problems. About the multiplex fact, you cannot change the multplexor in runtime while it's already running. You must do it at initialization time. I want to add in the future the ability to add new multiplexed services "on the fly". But I should be add the properties in gobject and make sure I don't break multithreading. So this has to be added at latter step, like always. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15868386#comment-15868386 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 I'm a committer on the project which means I have write access to the apache repository for the project. Most changes come in like this, and one of the committers need to merge it into master. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15867731#comment-15867731 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 What do I have to do to be a contributor? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15867637#comment-15867637 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 I added some cross tests against Java. Maybe others can add the rest when the protocol is ready for the other languages. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15867424#comment-15867424 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/1191 @jeking3 Please explain how this can happen. Just did a rebase and merged my changes that only adds few files (I think two or three). If master is so controlled that no build failures can go in (you where very strict with my tests)... How can it give a cross test failure? This is not my fault. How others can be merging changes that break the build? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15866298#comment-15866298 ] ASF GitHub Bot commented on THRIFT-3706: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1191 In the future please format your pull request title to start with THRIFT-3706 so that the bots link the pull request to the open Jira item. Thanks! > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15866136#comment-15866136 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the issue: https://github.com/apache/thrift/pull/927 I will redo it > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15866137#comment-15866137 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux closed the pull request at: https://github.com/apache/thrift/pull/927 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15215074#comment-15215074 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the pull request: https://github.com/apache/thrift/pull/927#issuecomment-202620686 I don't know if the ad0bf54must be here or not. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15183080#comment-15183080 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the pull request: https://github.com/apache/thrift/pull/921#issuecomment-193278780 Please use this one. https://github.com/apache/thrift/pull/927 > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.10.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182093#comment-15182093 ] ASF GitHub Bot commented on THRIFT-3706: Github user gadLinux commented on the pull request: https://github.com/apache/thrift/pull/927#issuecomment-192873794 Sorry for the previous attempt I did so horrible wrong I had to overwrite my own history. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.10.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15181515#comment-15181515 ] ASF GitHub Bot commented on THRIFT-3706: Github user nsuke commented on the pull request: https://github.com/apache/thrift/pull/921#issuecomment-192568249 @gadLinux could you rebase this to the current master ? > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.10.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
[ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15181348#comment-15181348 ] ASF GitHub Bot commented on THRIFT-3706: GitHub user gadLinux opened a pull request: https://github.com/apache/thrift/pull/921 THRIFT-3706 : Implement protocol multiplexor in c_glib This patch implements protocol multiplexor for the client. For the server there's a need for a processor that currently we don't have. So a test of this can only be tested against other language that already has this in place. We did testing against Java. Example of use: /* * We will use binary encoding */ ThriftBinaryProtocol *binary_protocol= g_object_new (THRIFT_TYPE_BINARY_PROTOCOL, "transport", manager->transport, NULL); /* * FIXME Transport in the multiplexed should be got from binary_protocol */ ThriftMultiplexedProtocol *multiplexed_protocol= g_object_new (THRIFT_TYPE_MULTIPLEXED_PROTOCOL, "transport", manager->transport, "protocol", binary_protocol, "service-name", "MyService", NULL); You can merge this pull request into a Git repository by running: $ git pull https://github.com/gadLinux/thrift thrift-3706 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/921.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 #921 commit b02c04273338c70f89765664a816b334f22159af Author: Gonzalo Aguilar DelgadoDate: 2016-03-04T12:16:22Z Implement multiplexed protocol commit 2bb338c6e96abdc0bf0020e83ad7b1e76f29d43e Author: Gonzalo Aguilar Delgado Date: 2016-03-05T00:21:27Z Implement protocol multiplexor. For me there are a pair of things missing. Implement protocol decorator. > There's no support for Multiplexed protocol on c_glib library > - > > Key: THRIFT-3706 > URL: https://issues.apache.org/jira/browse/THRIFT-3706 > Project: Thrift > Issue Type: Improvement > Components: C glib - Library >Affects Versions: 0.9.3 >Reporter: Gonzalo Aguilar >Assignee: Gonzalo Aguilar > Fix For: 0.10.0 > > > There's no multiplexed protocol. > I will implement the same way it's done in Java an C++ -- This message was sent by Atlassian JIRA (v6.3.4#6332)