aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-03-31Move lease fd send/receive to dlm-protocolDamian Hobson-Garcia5-116/+110
Collect all protocol related functionality in the same place instead of spreading it around across different modules. Bug-AGL: SPEC-3862 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: I169a200401e4feaa289d53240a7f5467d6a88bd3
2021-03-31Add lease request and release protocolDamian Hobson-Garcia7-30/+193
Explicitly request / release leases instead of implicitly by opening and closing the connection. This will allow the lease manager to take different action when a client shuts down gracefully vs when it crashes, holding a lease. Bug-AGL: SPEC-3862 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: Ibc68bee855ce18e56eb6f57e5ad1743248320013
2021-03-31Free old lease fd reference after transitionDamian Hobson-Garcia3-4/+93
After a lease is tranisitined to a new client, the reference to the previous client's lease fd is no longer needed and should be released. Close the old fd after the new client has either updated the display or its lease is revoked. Bug-AGL: SPEC-3816 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: I0a273bf0311143bf0bf792bc530bf6c989aa6232
2021-03-31Add support for lease transitionDamian Hobson-Garcia6-4/+67
When enabled allow the ownership of a lease to transition from one client to another. If a request is made for a lease that is already allocated to a client, revoke the lease from the old client and issue a new lease for the same resources to the new client. This allows the ownership of the leased resources to be transferred without the display being closed and the screen blanking. During the tranistion, hold a reference to the old clients lease fd so that the last frame presented by the old client will remain on screen until the new client presents its first frame. Currenly there is no notification or authentication mechanism implemeted for the transition. Any client can request a transition from any other. The only notification that a transfer has happened is that the previous client's DRM API calls will suddenly fail with -ENOENT, since all resources will have been removed. It is up to the client to sensibly handle this condition. Bug-AGL: SPEC-3816 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: Id50b28096683a7530da8f546169b5dd825731359
2021-03-31lease-server: Allow multiple client connectionsDamian Hobson-Garcia5-136/+143
Allow multiple clients to issue lease requests on a server at the same time. This is necessary to be able to grant or deny leases, not just on a first-come-first-served basis. Future patches will add extra contitions, such as command-line options and lease configuration settings to determine when and how lease requests should be granted. This update changes the behaviour of the lease-server interface so that it reports every client connection request, instead of when a server has accepted a request, so update the test suite to reflect this. Bug-AGL: SPEC-3816 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: I08506b6ebc2a4910e7553e3dfd9b1e230ea0008c
2021-03-31lease-server-test: Destroy server on shutdownDamian Hobson-Garcia1-0/+5
libcheck tests normally run each test in a separate process so the server objects will automatically be destroyed after each test. If the test suite is run with CK_FORK=no, for example when debugging the test with gdb, failing to destory the server object will leave the test sockets from the previous test open, which will stop the next test from creating its own sockets. Bug-AGL: SPEC-3816 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: I63b86d692490c4cce7107839c7bd558a35855b0a
2021-02-19Add initial versionDamian Hobson-Garcia40-0/+3775
The initial version implements the basic functionality of the client/server communication and lease management. For now, one lease is created per valid connector (dependent on CRTC availablity). Bug-AGL: SPEC-3729 Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Change-Id: I2b37a892742cc22bdc53a5172c8ad3d8a7bb5e66
2020-12-04Initial empty repositorykoi_11.0.4koi_11.0.0koi_10.93.1koi_10.93.0koi_10.92.0koi_10.91.0koi/11.0.4koi/11.0.0koi/10.93.1koi/10.93.0koi/10.92.0koi/10.91.0jellyfish_10.0.2jellyfish_10.0.1jellyfish/10.0.2jellyfish/10.0.111.0.411.0.010.93.110.93.010.92.010.91.010.0.210.0.1Jan-Simon Moeller0-0/+0