using O-Meta for parsing, etc., this UDP packet template?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

using O-Meta for parsing, etc., this UDP packet template?

LawsonEnglish
I've had the Squeak-based SL client project on hold for a while due to
networking issues, but the most recent versions of various libraries
seem to work fine with the Second Life server, so I'd like to start that
up again.

My current issue concerns handling the 500+ UDP packets that define a
huge part of the Second Life client-server protocols:

http://lib.openmetaverse.org/template/release/1.19.1.4.txt

http://wiki.secondlife.com/wiki/Template_verifier.py

There are 3 interrelated tasks: parsing the template, parsing data from
incoming packets and creating data for outgoing packets. Jecel suggested
I look into O-Meta for this purpose, but I have not a clue how to get
started.

Any suggestions are welcome, thanks.


Lawson



Reply | Threaded
Open this post in threaded view
|

Re: using O-Meta for parsing, etc., this UDP packet template?

Frank Shearar
On 2010/11/16 19:43, Lawson English wrote:

> I've had the Squeak-based SL client project on hold for a while due to
> networking issues, but the most recent versions of various libraries
> seem to work fine with the Second Life server, so I'd like to start that
> up again.
>
> My current issue concerns handling the 500+ UDP packets that define a
> huge part of the Second Life client-server protocols:
>
> http://lib.openmetaverse.org/template/release/1.19.1.4.txt
>
> http://wiki.secondlife.com/wiki/Template_verifier.py
>
> There are 3 interrelated tasks: parsing the template, parsing data from
> incoming packets and creating data for outgoing packets. Jecel suggested
> I look into O-Meta for this purpose, but I have not a clue how to get
> started.
>
> Any suggestions are welcome, thanks.

Hi Lawson,

Ometa's list is here: [hidden email]

Alex is very helpful, as are the rest of the list!

frank

Reply | Threaded
Open this post in threaded view
|

Re: using O-Meta for parsing, etc., this UDP packet template?

Hans-Martin Mosner
In reply to this post by LawsonEnglish
Am 16.11.2010 20:43, schrieb Lawson English:

> I've had the Squeak-based SL client project on hold for a while due to
> networking issues, but the most recent versions of various libraries
> seem to work fine with the Second Life server, so I'd like to start
> that up again.
>
> My current issue concerns handling the 500+ UDP packets that define a
> huge part of the Second Life client-server protocols:
>
> http://lib.openmetaverse.org/template/release/1.19.1.4.txt
>
> http://wiki.secondlife.com/wiki/Template_verifier.py
>
> There are 3 interrelated tasks: parsing the template, parsing data
> from incoming packets and creating data for outgoing packets. Jecel
> suggested I look into O-Meta for this purpose, but I have not a clue
> how to get started.

I'd guess that OMeta would be very useful for parsing the templates, but
probably not speedy enough for the UDP packets for real-time use due to
its backtracking mechanism.
One possible approach is to use an OMeta grammar to generate fast packet
parsing code from the templates. This is what I would try.
Another would be to implement a simpler #apply: method that is suitable
for packet parsing, and generate OMeta productions from the templates.

Cheers,
Hans-Martin


Reply | Threaded
Open this post in threaded view
|

Re: using O-Meta for parsing, etc., this UDP packet template?

LawsonEnglish
That's along the lines of what I think I want to do, but I'm not sure
how to get started. I've never had a formal class in parsing/scanning in
the first place.

On 11/16/10 10:44 PM, Hans-Martin Mosner wrote:

> Am 16.11.2010 20:43, schrieb Lawson English:
>> I've had the Squeak-based SL client project on hold for a while due to
>> networking issues, but the most recent versions of various libraries
>> seem to work fine with the Second Life server, so I'd like to start
>> that up again.
>>
>> My current issue concerns handling the 500+ UDP packets that define a
>> huge part of the Second Life client-server protocols:
>>
>> http://lib.openmetaverse.org/template/release/1.19.1.4.txt
>>
>> http://wiki.secondlife.com/wiki/Template_verifier.py
>>
>> There are 3 interrelated tasks: parsing the template, parsing data
>> from incoming packets and creating data for outgoing packets. Jecel
>> suggested I look into O-Meta for this purpose, but I have not a clue
>> how to get started.
> I'd guess that OMeta would be very useful for parsing the templates, but
> probably not speedy enough for the UDP packets for real-time use due to
> its backtracking mechanism.
> One possible approach is to use an OMeta grammar to generate fast packet
> parsing code from the templates. This is what I would try.
> Another would be to implement a simpler #apply: method that is suitable
> for packet parsing, and generate OMeta productions from the templates.
>
> Cheers,
> Hans-Martin
>
>