USRP2, TX Overflow, metadata controll

I have written software which calls directly: usrp2::impl::tx_32fc,
found in usrp2_impl.cc

I am parsing the data 370 complex samples 16 bits real 16 bit Imag as
needed, and am unsure how to set the metadata.

currently the metadata is (I copied this from tx_samples.cc) that came
with the build:
timestamp = -1;
sendnow = 1;
startofburst = 1;
endofburst = 1;

It appears that there in an overflow with the TX and unless I usleep(x)
between calls to usrp2::impl::tx_32fc the output message length is
shortened and distorted compared to what was meant to be sent.

When I do use usleep(x), which I believe is effectively creating a very
crude flow control, I can see that my data is coming out correctly
undistorted however there is sometimes gaps between buffers which is
understandable due to the crude timing the TX buffer is now under
running.

It appears that I am inducing flow control by sleeping, and I was not
sure if there is an Ethernet issue or something I should be doing with
the metadata to control data flow? From reading the forums the radio
uses pause packets, however these were discussed with TX underflow at
low interp rates and was not sure if they apply to my issue?

What can I do to avoid overflowing the TX?

-Regards
dwa126