Hi!
I just wanted to sketch out the next tasks I see for pyogp lib:
- Setup a test framework because right now we don't have any. I started
with some experimentation and will present this shortly.
- Refine components inside it. E.g. right now we convert an agent to
IPlaceAvatarAdapter, this maybe should not be the agent but the
agentdomain we adapt as it's the agentdomain which provides this call
and it shows better where the REST resource resides. An agent can still
be used to contain the name etc. (which we actually don't have right
now. A credential might contain it but that's not necessarily the case.
We might need some webservice to ask for the name and profile information).
Another thing I want to clean up a bit is serialization. Right now we
have a serializer for caps and one for the credentials. I would like
them to use the same interface as they both need to spit out LLSD. So my
idea would be to simply say
serializer = ISerialization(credentials) # or cap
data = serializer.serialize()
(we might also define __call__ instead of serialize. In this case it's
just serializer() to get the result. But this might be confusing)
All in all we only had one interface then for serializing something, not
one for credentials and one for caps and so on.
- discuss development process. When to create a branch, when not to. How
to communicate what you are going to change? I would like to keep lots
of communication going via this list (as it's more traceable) what we
are going to add/remove/change and also to maybe start creating branches
for some stuff. With svn it's unfortunately somewhat expensive and
annoying to do branching and merging (compared to hg or git) but I hope
we can still do this.
- Add the UDP loop. Here the question is how we do this best in library
form. Do we ask the application to create the loop and use functions of
the library to do the actual work or do we implement it in the library
with hooks for the application to hook in. And how do we do this without
depending on a certain networking library? And how do we do this to keep
it testable? This needs some thinking apparently. I would think that the
library would both contain a loop of it's own but it's optional to use
it. An application can also do it itself and just call the functions the
predefined loop would also call.
Somehow we also need to manage to keep this loop in a separate
thread/coroutine so that a shell like interface is possible.
- Implement the packet handlers for the loop which starts with
implementing parsers for these packets. I usually had no luck with
parsing them but Locklainn said, he knows how to do this. So this might
be a task then :)
Tests for this should be added as well of course where example packets
are parsed and maybe some with errors inside which hopefully get caught.
So some thinking is needed about possible error cases. Somebody could
actually already start with collecting such packets and thinking about
tests which tests all the features of them (different data types, blocks
etc.)
Once we have the loop running we can then think about TP which hopefully
gets more documented by then ;-) In the OpenSim patch I also noticed
that request_rez_avatar seems not to be used, just rez_avatar. But I
guess request_rez_avatar is not optional but more or less the seed cap
for the rez_avatar call.
In the OGP group we also need to discuss where the region domain comes
in (we did this once already) because right now you need to know the
region IP/name but you have no idea where to get that from. I think some
step inbetween which asks the region domain is necessary and maybe even
the regiondomain can then implement request_rez_avatar in some fashion
that it takes a regionname instead of an IP/DNS name. The name could
come from some mapping service which knows about all the regions.
I will also post the last bit to sldev later today.
Ok, enough mails.. work is waiting!
Please reply what you think about the tasks above.
And if you have questions about the ZCA please also reply to the
individual post of the tutorial. We can later also put this into the
wiki, for me writing it quickly as mail is just easier ;-)
-- Christian
--
Christian Scholz video blog: http://comlounge.tv
COM.lounge blog: http://mrtopf.de/blog
Luetticher Strasse 10 Skype: HerrTopf
52064 Aachen Homepage: http://comlounge.net
Tel: +49 241 400 730 0 E-Mail ***@comlounge.net
Fax: +49 241 979 00 850 IRC: MrTopf, Tao_T
neue Show: TOPFt?glich (http://mrtopf.de/blog/category/topf-taglich/)