A computing device comprising: one or more processing units; a network interface card; and one or more computer-readable media comprising computer-executable instructions, which, when executed by the processing units or the network interface card, cause the computing device to: utilize a first portion of memory as a first ring buffer (111, 112) at the computing device such that a beginning data location at a beginning of the first portion of memory is used as a sequentially subsequent data location from an end data location at an end of the first portion of memory; update a first write edge pointer associated with the first ring buffer (111, 112) to account for new data being transmitted, the first write edge pointer identifying an end, within the first portion of memory, of data being transmitted from the computing device; copy at least some of the new data directly into a second ring buffer (121, 122) at a receiving computing device, characterized in causing the computing device further to: monitor a second trailing edge pointer, associated with the second ring buffer (121, 122), to detect an update to a location identified by the second trailing edge pointer; and update a first trailing edge pointer associated with the first ring buffer (111, 112) in accordance with the updated location identified by the second trailing edge pointer and detected by the monitoring, the first trailing edge pointer identifying a beginning, within the first portion of memory, of the data being transmitted from the computing device. one or more processing units; a network interface card; and one or more computer-readable media comprising computer-executable instructions, which, when executed by the processing units or the network interface card, cause the computing device to: utilize a first portion of memory as a first ring buffer (111, 112) at the computing device such that a beginning data location at a beginning of the first portion of memory is used as a sequentially subsequent data location from an end data location at an end of the first portion of memory; update a first write edge pointer associated with the first ring buffer (111, 112) to account for new data being transmitted, the first write edge pointer identifying an end, within the first portion of memory, of data being transmitted from the computing device; copy at least some of the new data directly into a second ring buffer (121, 122) at a receiving computing device, characterized in causing the computing device further to: monitor a second trailing edge pointer, associated with the second ring buffer (121, 122), to detect an update to a location identified by the second trailing edge pointer; and update a first trailing edge pointer associated with the first ring buffer (111, 112) in accordance with the updated location identified by the second trailing edge pointer and detected by the monitoring, the first trailing edge pointer identifying a beginning, within the first portion of memory, of the data being transmitted from the computing device. utilize a first portion of memory as a first ring buffer (111, 112) at the computing device such that a beginning data location at a beginning of the first portion of memory is used as a sequentially subsequent data location from an end data location at an end of the first portion of memory; update a first write edge pointer associated with the first ring buffer (111, 112) to account for new data being transmitted, the first write edge pointer identifying an end, within the first portion of memory, of data being transmitted from the computing device; copy at least some of the new data directly into a second ring buffer (121, 122) at a receiving computing device, characterized in causing the computing device further to: monitor a second trailing edge pointer, associated with the second ring buffer (121, 122), to detect an update to a location identified by the second trailing edge pointer; and update a first trailing edge pointer associated with the first ring buffer (111, 112) in accordance with the updated location identified by the second trailing edge pointer and detected by the monitoring, the first trailing edge pointer identifying a beginning, within the first portion of memory, of the data being transmitted from the computing device. monitor a second trailing edge pointer, associated with the second ring buffer (121, 122), to detect an update to a location identified by the second trailing edge pointer; and update a first trailing edge pointer associated with the first ring buffer (111, 112) in accordance with the updated location identified by the second trailing edge pointer and detected by the monitoring, the first trailing edge pointer identifying a beginning, within the first portion of memory, of the data being transmitted from the computing device.