History log of /openbmc/phosphor-objmgr/src/associations.hpp (Results 1 – 15 of 15)
Revision Date Author Comments
# 5b4357da 12-Oct-2022 Kallas, Pawel <pawel.kallas@intel.com>

add Associations endpoints change delay timer

When multiple associations that point to the same interface are
created, each change (adding or removing one) leads to updating
"endpoints" property on

add Associations endpoints change delay timer

When multiple associations that point to the same interface are
created, each change (adding or removing one) leads to updating
"endpoints" property on dbus. This property update is time consuming
with many endpoints already present, because each update needs to send
the whole list of current elements plus/minus one. With a lot of
changes in short time it can cause the service to be unresponsive.
This change adds timer to delay updating dbus property. This way many
associations updates can be aggregated into single dbus property
update.

Tested: Ran on hardware with dbus sensor tester. 4000 created sensors
with interfaces are processed within 10 seconds. Time before the change
was above 2 minutes.

Signed-off-by: Kallas, Pawel <pawel.kallas@intel.com>
Change-Id: I1083c027ab12238249cffc67fb29a8ffef6baf83

show more ...


# a098a37a 05-May-2022 Brad Bishop <bradleyb@fuzziesquirrel.com>

style: comply with OpenBMC style guidelines

Change-Id: I72f86c59a0502777c861de901907c0a556c4c6c5
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>


# 9c3d2859 08-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Handle losing association endpoints

If the endpoint path of an association (not the path that has the
org.openbmc.Associations interface) goes off of D-Bus, then remove the 2
associa

Handle losing association endpoints

If the endpoint path of an association (not the path that has the
org.openbmc.Associations interface) goes off of D-Bus, then remove the 2
association objects and move this association to the list of pending
ones. That way if it ever comes back, the association objects will be
re-added.

This commit adds a moveAssociationToPending function in the code paths
where the mapper sees D-Bus paths going away. That function will find
all associations that involve that path, and then remove the actual
association paths and add them to the list of pending ones.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I14d5ddf8f65be866c2cedd5f467d65adf8e3af95

show more ...


# 7f8fd1fa 08-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Add function to find assocs based on endpoint

The helper function findAssociations can find all
associations based on an endpoint path and return
enough information to recreate those

Add function to find assocs based on endpoint

The helper function findAssociations can find all
associations based on an endpoint path and return
enough information to recreate those associations
later.

For example, searching for something like "endpointA"

could return:
owner: "ownerA"
Association{"typeA", "typeB", "endpointB"}

Which implies the association:
endpointA/typeA -> endpointB/typeB

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I0fbcf5397435f10b3072dd2640b342ee47d52f9b

show more ...


# 11401e2e 08-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Check for pending associations

When the mapper is adding a new D-Bus path to its path map,
either via an introspect or in the interfacesAdded handler,
check if that new path has an o

Check for pending associations

When the mapper is adding a new D-Bus path to its path map,
either via an introspect or in the interfacesAdded handler,
check if that new path has an outstanding pending association.

If it does, then create the 2 real association paths and
remove that entry from the pending associations maps.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2da8109b5cba8596eb0c14a6af0d377472ca4145

show more ...


# cb9bcdb1 08-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Remove an endpoint from the pending assocs

If there is a pending association, but the object that
owns that association goes off the bus, then there is
no need to wait for the endpoi

Remove an endpoint from the pending assocs

If there is a pending association, but the object that
owns that association goes off the bus, then there is
no need to wait for the endpoint to show up anymore so
remove it from the pending associations list.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I96af6ffd62f857015522c041dfbdbcd2132d8374

show more ...


# e0b0e3a2 08-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Check for missing endpoints when adding assocs

An association links 2 D-Bus object paths together, one
which is the path that has the original associations
property, and another endp

Check for missing endpoints when adding assocs

An association links 2 D-Bus object paths together, one
which is the path that has the original associations
property, and another endpoint path. It's possible that
that endpoint path doesn't exist on D-Bus when that
associations property is created.

This commit, along with upcoming ones, adds support to not
create the actual association object paths until that
endpoint path shows up on D-Bus. In addition, if that
endpoint path were to get removed from D-Bus in the future,
then the association paths should be removed until that
path is back again.

This particular commit introduces the PendingAssociations map
to track these cases, and adds support in the associationChanged
path to add associations to this map if the endpoint path isn't
on D-Bus instead of just blindly creating the association objects.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1f4bf0e02bf7a350d9e3f18c3591737289a51a39

show more ...


# e2359fb7 05-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Gather association maps into a single structure

The AssociationOwners and AssociationIntefaces maps are passed around
separately in the mapper, but usually they are always used together.

Gather association maps into a single structure

The AssociationOwners and AssociationIntefaces maps are passed around
separately in the mapper, but usually they are always used together.

Gather them into a structure to make it easier to write code to use
them, especially because soon there will be another entry in it.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ibd5b622c7c1240ff8e23846368cbfd56e5bba24d

show more ...


# 35396c10 05-Apr-2019 Matt Spinler <spinler@us.ibm.com>

Move common types into a common header

Upcoming commits will have code that references some of these
types in more files so it makes sense to have them in a common
place.

Si

Move common types into a common header

Upcoming commits will have code that references some of these
types in more files so it makes sense to have them in a common
place.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I92adbefdd4bcfdb5d8d7e30b7fdf0fa03c739d2a

show more ...


# ea80c33d 22-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Add some doc on Association

Next set of unit tests use this data structure so added some doc and an
example

Change-Id: Iabc89fc66ff68ccbf872e8cb48dc75b75c78908f
S

unit-test: Add some doc on Association

Next set of unit tests use this data structure so added some doc and an
example

Change-Id: Iabc89fc66ff68ccbf872e8cb48dc75b75c78908f
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# 4511b33f 21-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Move associationChanged()

Make it easier to unit test and continue reduction of main.cpp

Change-Id: Ic549e096343e7a2fb11985f1c48879ed4486e40b
Signed-off-by: Andrew Ge

unit-test: Move associationChanged()

Make it easier to unit test and continue reduction of main.cpp

Change-Id: Ic549e096343e7a2fb11985f1c48879ed4486e40b
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# 7f1c44dc 21-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Move checkAssociationEndpointRemoves

Make it easier to unit test and continue reduction of main.cpp

Change-Id: Id4f4c4fc1e3928f1b600555c6dbe05f651fffce5
Signed-off-by

unit-test: Move checkAssociationEndpointRemoves

Make it easier to unit test and continue reduction of main.cpp

Change-Id: Id4f4c4fc1e3928f1b600555c6dbe05f651fffce5
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# ff5ce924 21-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Move removeAssociationEndpoints()

Make it easier to unit test and continue reduction of main.cpp

Change-Id: I2c0eac5c301687acab14add627586170020e4fe4
Signed-off-by: A

unit-test: Move removeAssociationEndpoints()

Make it easier to unit test and continue reduction of main.cpp

Change-Id: I2c0eac5c301687acab14add627586170020e4fe4
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# 271b7dd0 05-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Test removeAssociations interface

Testing: Verified code coverage shows 100% of new interface

Change-Id: I517acc02b06bbff971921e66a697fb297fde45c6
Signed-off-by: Andr

unit-test: Test removeAssociations interface

Testing: Verified code coverage shows 100% of new interface

Change-Id: I517acc02b06bbff971921e66a697fb297fde45c6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# a80a3af0 04-Feb-2019 Andrew Geissler <geissonator@yahoo.com>

unit-test: Create initial associations file

Make interface more unit testable by moving to separate
file and documenting it.

Change-Id: Ia27f33d706c62a0011790ec94185dd6be3922f21

unit-test: Create initial associations file

Make interface more unit testable by moving to separate
file and documenting it.

Change-Id: Ia27f33d706c62a0011790ec94185dd6be3922f21
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...