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
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