thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-3706) There's no support for Multiplexed protocol on c_glib library
Date Wed, 22 Feb 2017 09:03:44 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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)

Mime
View raw message