Make SocketDescriptor::send_data take slice instead of vec and offset