An apparatus comprising: a requester device within a packet network configured to receive a flush request generated by a remote agent requesting that one or more data items be flushed to a point of persistence, and to translate the flush request into a packet-based flush command conforming to a packet protocol of the packet network; and a completer device within the packet network that is coupled to a persistence domain incorporating the point of persistence, the completer device being arranged to detect receipt of the packet-based flush command and to trigger a flush operation within the persistence domain to flush said one or more data items to the point of persistence; characterized in that the packet-based flush command is arranged to identify a flush type, wherein the flush type is used to distinguish between: an address-based flush type where the one or more data items to be flushed are identified by an address range determined by the completer device from address information provided with the packet-based flush command, and a flow identifier flush type where a flow identifier is provided within the packet-based flush command, and the one or more data items to be flushed are those data items within the persistence domain that have not yet reached the point of persistence and which have the flow identifier associated therewith. a requester device within a packet network configured to receive a flush request generated by a remote agent requesting that one or more data items be flushed to a point of persistence, and to translate the flush request into a packet-based flush command conforming to a packet protocol of the packet network; and a completer device within the packet network that is coupled to a persistence domain incorporating the point of persistence, the completer device being arranged to detect receipt of the packet-based flush command and to trigger a flush operation within the persistence domain to flush said one or more data items to the point of persistence; characterized in that the packet-based flush command is arranged to identify a flush type, wherein the flush type is used to distinguish between: an address-based flush type where the one or more data items to be flushed are identified by an address range determined by the completer device from address information provided with the packet-based flush command, and a flow identifier flush type where a flow identifier is provided within the packet-based flush command, and the one or more data items to be flushed are those data items within the persistence domain that have not yet reached the point of persistence and which have the flow identifier associated therewith. an address-based flush type where the one or more data items to be flushed are identified by an address range determined by the completer device from address information provided with the packet-based flush command, and a flow identifier flush type where a flow identifier is provided within the packet-based flush command, and the one or more data items to be flushed are those data items within the persistence domain that have not yet reached the point of persistence and which have the flow identifier associated therewith.