[jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library

2017-10-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-22 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-22 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-22 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-22 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-22 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-21 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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 Delgado 
Date:   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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-20 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-18 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-18 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-18 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-16 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-15 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-14 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-14 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-02-14 Thread ASF GitHub Bot (JIRA)

[ 
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

2016-03-28 Thread ASF GitHub Bot (JIRA)

[ 
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

2016-03-07 Thread ASF GitHub Bot (JIRA)

[ 
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

2016-03-06 Thread ASF GitHub Bot (JIRA)

[ 
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

2016-03-04 Thread ASF GitHub Bot (JIRA)

[ 
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

2016-03-04 Thread ASF GitHub Bot (JIRA)

[ 
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 Delgado 
Date:   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)