3.1.7.3 Publishing a Record

The steps of publishing a record are as follows:

If a graph security provider is configured, the record MUST be passed to it, and the secured record returned from it, as specified in section 3.1.7.28. If the graph security provider returns an error, the record MUST NOT be processed further.

The record MUST be added to the local database.

If the value of the Expiration Time in the new record + 15 seconds is less than the time the Record Expiration Timer is scheduled to fire, then the Record Expiration Timer's duration MUST be updated to fire at the new record's Expiration Time value.

If the new record's Autorefresh flag is set and the value of the Expiration Time in the new record + 60 seconds is less than the time the Autorefresh Timer is scheduled to fire, then the Autorefresh Timer's duration MUST be updated to fire at the new Record's Expiration Time value.

If the new record's Autorefresh flag is set and the Autorefresh Timer is not set, it MUST be set to fire at the new record's Expiration Time value.

If the record's Autorefresh Timer expiration time is less than 4 seconds, it MUST be set to 4 seconds.

A FLOOD message (see section 3.1.7.1) containing the Record (in PEER_RECORD format) in its Record Data field MUST be sent to all neighbors.