>When the Gatt_Server device itself want to update its Gatt_Database (Any Attribute's value ) ,then the Gatt_Server device itself will call the CyBle_GattsWriteAttributeValue() function with attribute permission CYBLE_GATT_DB_LOCALLY_INITIATED.
For example ,if Gatt_Server device wants to update its attribute value to '0' or something at dsconnection event,then this function with CYBLE_GATT_DB_LOCALLY_INITIATED is used.
>When a particular attribute is updated/written by Gatt_Client (peer device) on write request then CYBLE_GATT_DB_PEER_INITIATED parameter is used.
What is the actual difference in the implementation between the two? Why are they different?
Every time I handle a write request, my application firmware needs to parse the request (do some validation) and then update the database. Which flag should I use in that scenario?