1. A method for hybrid remote direct memory access (RDMA), the method comprising: receiving, by a first computer, a packet that was sent over a network from a second computer; wherein the packet comprises data and metadata; determining, in response to the metadata, whether the data should be (a) directly written to a first application memory of the first computer by a first hardware accelerator of the first computer; or (b) indirectly written to the first application memory; indirectly writing the data to the first application memory if it determined that the data should be indirectly written to the first application memory; if it determined that the data should be directly written to the first application memory then: directly writing, by the first hardware accelerator the data to the first application memory without writing the data to any buffer of the operating system; and informing a first RDMA software module, by the first hardware accelerator, that the data was directly written to the first application memory; and notifying, by the first RDMA software module, a second computer about a completion of an RDMA transaction during which the data was directly written to the first application memory.