Hello Alan,
 
  Thank you for the feed back and clarifying some the messages. Please see 
attached file for the updated GPB message.
  Option1 in the file has different data type for each type of message. Option2 
is the original design with one change of not having 
  list as separate message type.  We can do the same by using GPB's repeated 
field option. 
 
Thanks,
Shilpa Sodani.
    
 
  

 


From: aalva...@aliensoft.net
Date: Mon, 2 May 2011 23:10:13 -0400
To: mira-development@lists.sourceforge.net
Subject: Re: [Mira-development] Design draft for Network message with google 
protocol buffer

Hello Shilpa,


On Fri, Apr 29, 2011 at 9:25 PM, Shilpa Sodani <sa_sod...@hotmail.com> wrote:


Hello all,

Here is the network message design draft with Google Protocol Buffer (GPB).

Currently we have network messages of format:

 Token Parameters [0 or more separates by space; if the parameter have space 
then they are enclosed in double quotes]

Parameters can be categories as follow:
1. string
2. integer (eg: id, time-stamp)
3. list (eg: Q <USERS|GROUPS> <Field1,Field2,Field3,...|*>    
[Field1=Value1,Field2=Value2,Field3=Value3,etc...] )
4. binary (new parameter type)

I have a question regarding following message:

ML <workplace> username1:n, username2:f

does it means this
ML <workplace>  <username1:n, username2:f>

Yes, it does. This is a member list. The extra character is to identify the 
current user status (online, offline, etc..) 


Or this
ML <workplace>  <username1:n> < username2:f>

Or something else.

Similarly question for messages,
UL <workplace> Utility1,Utility2
and 
WL id:workplacename1,id:workplacename2

Same applies. These are utility and workplace lists. 


Base on this information we can have network message structured in GPB way as,

For quick reference


required: a message must have exactly one of this field.
optional: a message can have zero or one of this field (but not more than one).
repeated: this field can be repeated any number of times (including zero). The 
order of the repeated values will be preserved.
Message NetworkMsg
  {
      required  string token = 1;
      repeated Parameter parameter = 2;

       Message Parameter
      {
          enum Type
         { 
              INT_DATA = 1;
              STR_DATA = 2;
              BINARY_DATA = 3;
              LIST_DATA = 4;
         }

          require Type type = 1;

          optional int int_data = 2;
          optional string str_data = 3;
Wouldn't it be better to create a different data type for each type of message? 
          optional bytes  binary_data = 4;
          optional string list_data = 5;
       } 

  }



The GPB compiler will convert the message into c++ class (in this case nested 
class) with many accessor methods.
Having tokens and parameters as flields will make coding much easier; will not 
have to deal with Split like function.

Please scrutinize the network message format and give your feedback.

Thanks,
Shilpa Sodani. 


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today.  Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Mira-development mailing list
Mira-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mira-development



-- 
regards,

Alan Alvarez

------------------------------------------------------------------------------ 
WhatsUp Gold - Download Free Network Management Software The most intuitive, 
comprehensive, and cost-effective network management toolset available today. 
Delivers lowest initial acquisition cost and overall TCO of any competing 
solution. http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________ Mira-development mailing list 
Mira-development@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/mira-development                   
                     

Attachment: network_msg.wps
Description: Binary data

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Mira-development mailing list
Mira-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mira-development

Reply via email to