Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|