当前位置: 首页 > wzjs >正文

备案没有商城可以做商城网站吗郑州app拉新项目

备案没有商城可以做商城网站吗,郑州app拉新项目,汕头网站建设技术支持,成都做网站设计公司价格以下是参考的实现代码,IO_URING 操作必须要进行按页大小对齐(仅在O_DIRECT直接I/O下),不能是非对称的,一般大多数操作系统页大小为:4KB。 批量读取、writev 批量简写。 static constexpr int MTU ITap::M…

以下是参考的实现代码,IO_URING 操作必须要进行按页大小对齐(仅在O_DIRECT直接I/O下),不能是非对称的,一般大多数操作系统页大小为:4KB。

批量读取、writev 批量简写。 

                    static constexpr int MTU = ITap::Mtu;struct io_uring ring;memset(&ring, 0, sizeof(ring));struct iovec tun_write_iov_data[PPP_TUN_ENTRIES_PACKET_SIZE];Byte packets[PPP_TUN_ENTRIES_PACKET_SIZE][MTU];SsmtThreadLocalTls& tls = ssmt_tls_;tls.tun_write_iov_data = tun_write_iov_data;if (io_uring_queue_init(PPP_TUN_ENTRIES_PACKET_SIZE, &ring, 0) < 0) {Dispose();return false;}bool any = false;for (int i = 0; i < PPP_TUN_ENTRIES_PACKET_SIZE; i++) {struct io_uring_sqe* sqe = io_uring_get_sqe(&ring);if (NULL == sqe) {goto LABEL_exit;}io_uring_prep_read(sqe, tun_fd, packets[i], MTU, 0);sqe->user_data = (__u64)&packets[i][0];}io_uring_submit(&ring);while (!disposed_) {struct io_uring_cqe* cqes[PPP_TUN_ENTRIES_PACKET_SIZE];__u32 count = io_uring_peek_batch_cqe(&ring, cqes, PPP_TUN_ENTRIES_PACKET_SIZE);if (count == 0) {int err = io_uring_wait_cqe(&ring, &cqes[0]);if (err == -EINTR) {continue;}elif(err >= 0) {count = 1;}else {break;}}ssmt_tls_.tun_wirte_iov_size = 0;for (__u32 i = 0; i < count; i++) {struct io_uring_cqe* cqe = cqes[i];assert(NULL != cqe);Byte* packet = (Byte*)cqe->user_data;if (int bytes_transferred = cqe->res; bytes_transferred > 0) {PacketInputEventArgs e{ packet, bytes_transferred };tls.tun_fd_ = tun_fd;OnInput(e);}struct io_uring_sqe* sqe = io_uring_get_sqe(&ring);assert(NULL != sqe);io_uring_prep_read(sqe, tun_fd, packet, MTU, 0);sqe->user_data = (__u64)packet;io_uring_cqe_seen(&ring, cqe);}tls.tun_fd_ = -1;io_uring_submit(&ring);if (tls.tun_wirte_iov_size > 0) {int err = writev(tun_fd, tun_write_iov_data, tls.tun_wirte_iov_size);for (int i = 0; i < tls.tun_wirte_iov_size; i++) {struct iovec& iov = tls.tun_write_iov_data[i];Mfree(iov.iov_base);}tls.tun_wirte_iov_size = 0;if (err < 0) {break;}}}LABEL_exit:io_uring_queue_exit(&ring);Dispose();return any;

write 批量收集或超限写出:

        bool TapLinux::Output(const void* packet, int packet_size) noexcept {if (NULL == packet || packet_size < 1) {return false;}int disposed = disposed_.load();if (disposed != FALSE) {return false;}// https://man7.org/linux/man-pages/man2/write.2.htmlint tun = static_cast<int>(reinterpret_cast<std::intptr_t>(GetHandle()));if (Ssmt()) {SsmtThreadLocalTls& tls = ssmt_tls_;int fd = tls.tun_fd_;if (fd != -1) {tun = fd;#if defined(BOOST_ASIO_HAS_IO_URING)void* packet_copy = Malloc(packet_size);if (NULL == packet_copy) {return false;}struct iovec& iov = tls.tun_write_iov_data[tls.tun_wirte_iov_size++];memcpy(packet_copy, packet, packet_size);iov.iov_base = packet_copy;iov.iov_len = packet_size;if (tls.tun_wirte_iov_size >= PPP_TUN_ENTRIES_PACKET_SIZE) {int err = writev(fd, tls.tun_write_iov_data, tls.tun_wirte_iov_size);for (int i = 0; i < tls.tun_wirte_iov_size; i++) {struct iovec& iov = tls.tun_write_iov_data[i];Mfree(iov.iov_base);}tls.tun_wirte_iov_size = 0;if (err < 0) {return false;}}
#endif}}ssize_t bytes_transferred = ::write(tun, (void*)packet, (size_t)packet_size);return bytes_transferred > -1;}


文章转载自:

http://nCAU0Ycv.mqxzh.cn
http://lXcuehZ5.mqxzh.cn
http://VSdTUaa7.mqxzh.cn
http://vuhtLKIG.mqxzh.cn
http://dvB2ov0L.mqxzh.cn
http://VLEwJ6nL.mqxzh.cn
http://mMfu4pk9.mqxzh.cn
http://p2mvib1h.mqxzh.cn
http://eQ9H5q0q.mqxzh.cn
http://lej40OXL.mqxzh.cn
http://7RMsfnQ9.mqxzh.cn
http://nEqkBeoP.mqxzh.cn
http://Lk03udI7.mqxzh.cn
http://lbb2nTQc.mqxzh.cn
http://M3R7NdaJ.mqxzh.cn
http://LeVlU1o1.mqxzh.cn
http://onrKmoEI.mqxzh.cn
http://v1fW8U5V.mqxzh.cn
http://ncx7CBVg.mqxzh.cn
http://fWCw6t6T.mqxzh.cn
http://wdQeA40t.mqxzh.cn
http://fHV0ksh3.mqxzh.cn
http://QLPbdafl.mqxzh.cn
http://5Zr32ExD.mqxzh.cn
http://dsfio9CE.mqxzh.cn
http://4aurblVL.mqxzh.cn
http://p5eEpAK6.mqxzh.cn
http://QmmOa541.mqxzh.cn
http://xAmgEBq3.mqxzh.cn
http://jIzyVr4u.mqxzh.cn
http://www.dtcms.com/wzjs/631038.html

相关文章:

  • 站长查询seo是什么意思东莞网站外包
  • 已经有域名 怎么修改网站移动互联网时代的到来为很多企业提供了新的商业机会
  • 深圳网站制作建设公司推荐合肥制作企业网站
  • 网站开发 asp.net php网络推广培训中心
  • 网站的总体方案与功能设计上海物联网app开发公司
  • 请问如何做网站分销商城平台开发
  • 昆山网站建设苦瓜中铁建设集团门户网登录不上去
  • 怎么制作网站栏目页主页固定在网站底部
  • 网站建设公司推怎么给自己网站做搜索框
  • 上海元山建设有限公司网站深圳品牌设计公司哪家好
  • 如何关联网站与网站多多返利网站建设程序
  • 做电影网站有什么好处和坏处长春市制作网站费用
  • 网站推他网站线上营销的好处
  • gg服务器租用网站好用的wordpress
  • 做网站推广的销售电话开场白Wordpress如何接入visa支付
  • wordpress 好用插件深圳优化公司找高粱seo服务
  • 做网站可以卖别的牌子的产品吗企业网站建设属于什么科目
  • 企业在网站建设上的不足有哪些是外国人做的网站吗
  • 新手做电影网站好wordpress中文模板下载
  • 网站建设历史装修案例
  • 企业seo外包网站排名seo
  • 捡个校花做老婆是哪个网站的大连制作网站多少钱
  • 类似快手网站开发买了万网的域名跟定制网站还要买空间吗
  • 南京专业做网站公司怎么办?
  • wordpress建立网站实例如何保护我做的网站模板
  • 网站主题风格长沙河东做网站
  • 江西个人网站备案做论坛祁县网站建设
  • 做指甲的网站叫什么名字来着wordpress 博客搭建
  • 网站开发 pdf石家庄网站开发建设
  • 湛江做网站seo的犀牛网站建设