This week
I continued my research of service discovery options for Freeseer. I made a number of prototypes, got a windows box up and running to make a final decision about what service discovery method to use.
As I elaborated upon last week, there was no perfect broadcasting solution for the Freeseer service. The one that worked the best (avahi) was linux only, the other pure python implementations were very finicky, especially when working as servers. I looked at one final non-Zeroconf no-configuration library called minusconf, that seemed very promising at first, but found that if it was used in any sort of non-standard environment, (multiple NIC cards etc.), it would either work consistently or not at all.
In the end I decided that the best way to accomplish service broadcasting would be to use Avahi on the server side, and a pure python library called python-zeroconf on the client side. This means that only linux boxes will be able to work as headless Freeseer Hosts, but a client can be of any OS. This is a compromise that I am ok with, because Avahi is miles ahead of any pure python zeroconf implementation.
Since we haven't begun developing our Freeseer client yet, there's nothing stopping us from
I put together my implementation of that today, and opened a PR for that issue.
I also took a look at some other work related to revamping the way that HTTP_ERRORS are sent and displayed. I opened a PR for that issue as well. There is now a standard error message associated with any HTTP Error message (404, 401, ...), and an endpoint can decide to supply a description or not. That description will be included in the HTTP_ERROR message JSON returned by the endpoint. It's just to make things a little clearer for developers who will be developing against this REST api, and bring our REST api closer in line with REST best practices.
Next week
I will work on closing these PR's, and will take a look at expanding our test coverage. I also will start thinking of what will go into my API development document, as our time is starting to wind down.
Until next week.
No comments:
Post a Comment