mbox series

[bitbake-devel,RFC,0/5] Bitbake Hash Server WebSockets Implementation

Message ID 20230928170551.4193224-1-JPEWhacker@gmail.com
Headers show
Series Bitbake Hash Server WebSockets Implementation | expand

Message

Joshua Watt Sept. 28, 2023, 5:05 p.m. UTC
This patch series implements a websockets transport protocol for the
bitbake hash equivalence client. Note that while this uses the
websockets 3rd party python module, its use should only be actually
required if the user wants to use the websocket transport mechanism.

A websocket implementation is not added on the server side, as it is not
desired to add the websocket dependency there. In addition, there are
other server improvements that are desired, such as the ability to use
different database backends which also require other python modules. As
such, the websockets client can be test with the websocket hash
equivalence server implemented here:
https://github.com/JoshuaWatt/bb-hashserver

Joshua Watt (5):
  asyncrpc: Abstract client socket
  hashserv: Add remove API
  bitbake-hashclient: Add remove subcommand
  hashserv: tests: Add external database tests
  hashserv: Add websocket connection implementation

 bitbake/bin/bitbake-hashclient    |  13 +++
 bitbake/lib/bb/asyncrpc/client.py | 173 ++++++++++++++++++++----------
 bitbake/lib/hashserv/__init__.py  |   9 ++
 bitbake/lib/hashserv/client.py    |  30 +++---
 bitbake/lib/hashserv/server.py    |  29 +++++
 bitbake/lib/hashserv/tests.py     |  82 ++++++++++++--
 bitbake/lib/prserv/client.py      |   8 +-
 7 files changed, 262 insertions(+), 82 deletions(-)

Comments

Alexandre Belloni Sept. 29, 2023, 6:33 a.m. UTC | #1
Hi Joshua,

I was curious and gave it a shot, this seems to break prserv:

https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/5820/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/2170/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5828/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/5845/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/5779/steps/14/logs/stdio

On 28/09/2023 11:05:46-0600, Joshua Watt wrote:
> This patch series implements a websockets transport protocol for the
> bitbake hash equivalence client. Note that while this uses the
> websockets 3rd party python module, its use should only be actually
> required if the user wants to use the websocket transport mechanism.
> 
> A websocket implementation is not added on the server side, as it is not
> desired to add the websocket dependency there. In addition, there are
> other server improvements that are desired, such as the ability to use
> different database backends which also require other python modules. As
> such, the websockets client can be test with the websocket hash
> equivalence server implemented here:
> https://github.com/JoshuaWatt/bb-hashserver
> 
> Joshua Watt (5):
>   asyncrpc: Abstract client socket
>   hashserv: Add remove API
>   bitbake-hashclient: Add remove subcommand
>   hashserv: tests: Add external database tests
>   hashserv: Add websocket connection implementation
> 
>  bitbake/bin/bitbake-hashclient    |  13 +++
>  bitbake/lib/bb/asyncrpc/client.py | 173 ++++++++++++++++++++----------
>  bitbake/lib/hashserv/__init__.py  |   9 ++
>  bitbake/lib/hashserv/client.py    |  30 +++---
>  bitbake/lib/hashserv/server.py    |  29 +++++
>  bitbake/lib/hashserv/tests.py     |  82 ++++++++++++--
>  bitbake/lib/prserv/client.py      |   8 +-
>  7 files changed, 262 insertions(+), 82 deletions(-)
> 
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15142): https://lists.openembedded.org/g/bitbake-devel/message/15142
> Mute This Topic: https://lists.openembedded.org/mt/101641857/3617179
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>