A method of performing an RDMA, Remote Direct Memory Access, write operation, comprising: receiving an RDMA write and a block by a second RDMA device of a second network system from a first RDMA device of a first network system, the block including a message and a hash of the message such that the hash of the message is contiguous with the message, wherein the RDMA write indicates that the first RDMA device of the first network system requests that the block be written to a memory of the second network system; and storing by the second RDMA device of the second network system the block including the message and the hash of the message in at least one data buffer of the memory of the second network system such that the hash of the message is contiguous with the message; characterized in that the method comprises, while the RDMA write is still in progress: obtaining the message by the second network system from the memory of the second network system and computing by the second network system a hash of the obtained message; obtaining the hash of the message from the memory of the second network system; comparing, by the second network system, the computed hash of the message to the obtained hash of the message to determine if the computed hash is equal to the obtained hash; determining, based on the computed hash not being equal to the obtained hash, that a complete, valid message has not yet successfully been written to the memory of the second network system; in response to the determination, repeating the steps of obtaining the message, computing a hash of the message, obtaining the hash of the message from the memory, and comparing the hashes until the computed and obtained hashes match; and in response to the hashes matching, determining that a complete, valid message has been successfully written by the first network system to the memory of the second network system and processing the obtained message. receiving an RDMA write and a block by a second RDMA device of a second network system from a first RDMA device of a first network system, the block including a message and a hash of the message such that the hash of the message is contiguous with the message, wherein the RDMA write indicates that the first RDMA device of the first network system requests that the block be written to a memory of the second network system; and storing by the second RDMA device of the second network system the block including the message and the hash of the message in at least one data buffer of the memory of the second network system such that the hash of the message is contiguous with the message; characterized in that the method comprises, while the RDMA write is still in progress: obtaining the message by the second network system from the memory of the second network system and computing by the second network system a hash of the obtained message; obtaining the hash of the message from the memory of the second network system; comparing, by the second network system, the computed hash of the message to the obtained hash of the message to determine if the computed hash is equal to the obtained hash; determining, based on the computed hash not being equal to the obtained hash, that a complete, valid message has not yet successfully been written to the memory of the second network system; in response to the determination, repeating the steps of obtaining the message, computing a hash of the message, obtaining the hash of the message from the memory, and comparing the hashes until the computed and obtained hashes match; and in response to the hashes matching, determining that a complete, valid message has been successfully written by the first network system to the memory of the second network system and processing the obtained message. obtaining the message by the second network system from the memory of the second network system and computing by the second network system a hash of the obtained message; obtaining the hash of the message from the memory of the second network system; comparing, by the second network system, the computed hash of the message to the obtained hash of the message to determine if the computed hash is equal to the obtained hash; determining, based on the computed hash not being equal to the obtained hash, that a complete, valid message has not yet successfully been written to the memory of the second network system; in response to the determination, repeating the steps of obtaining the message, computing a hash of the message, obtaining the hash of the message from the memory, and comparing the hashes until the computed and obtained hashes match; and in response to the hashes matching, determining that a complete, valid message has been successfully written by the first network system to the memory of the second network system and processing the obtained message.