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

Go语言实现长连接并发框架 - 路由分组

文章目录

  • 前言
  • 接口
  • 结构体
  • 接口实现
  • 项目地址
  • 最后

前言

你好,我是醉墨居士,我们上篇博客实现了任务执行流的路由模块,接下来我们实现一下对任务执行流进行任务

接口

trait/router_group.go

type RouterGroup interface {RouterGroup(flow ...TaskFunc) RouterGroupUse(flow ...TaskFunc)
}

结构体

gcore/router_group.go

// RouterGroup 路由组
type RouterGroup struct {trait.RouterbaseTaskFlow trait.TaskFlow
}// NewRouterGroup 创建路由组
func NewRouterGroup(engine trait.Router) trait.RouterGroup {return &RouterGroup{Router:   NewRouter(),baseTaskFlow: NewTaskFlow(),}
}

接口实现

gcore/router_group.go

// Group 子路由组
func (g *RouterGroup) Group(flow ...trait.TaskFunc) trait.RouterGroup {group := &RouterGroup{Router:   g.Router,baseTaskFlow: g.baseTaskFlow.Append(flow...),}return group
}// Use 注册插件
func (g *RouterGroup) Use(flow ...trait.TaskFunc) {g.baseTaskFlow = g.baseTaskFlow.Append(flow...)
}// Regist 注册任务执行逻辑
func (g *RouterGroup) Regist(id uint16, flow ...trait.TaskFunc) {g.Router.Regist(id, g.baseTaskFlow.Append(flow...).Funcs()...)
}// RegistFlow 注册任务执行流
func (g *RouterGroup) RegistFlow(id uint16, flow trait.TaskFlow) {g.Router.RegistFlow(id, flow)
}

项目地址

Github:https://github.com/zm50/gte
Giee:https://gitee.com/zm50/gte

最后

我是醉墨居士,我们这篇博客完成了路由分组的代码实现

相关文章:

Go语言实现长连接并发框架 - 路由分组

文章目录 前言接口结构体接口实现项目地址最后 前言 你好,我是醉墨居士,我们上篇博客实现了任务执行流的路由模块,接下来我们实现一下对任务执行流进行任务 接口 trait/router_group.go type RouterGroup interface {RouterGroup(flow ..…...

跨 VLAN 通信

跨 VLAN 通信指的是不同 VLAN 之间的网络设备进行数据交换的能力。由于 VLAN 将网络分割成多个逻辑隔离的广播域,默认情况下,不同 VLAN 之间的设备无法直接通信。为了实现跨 VLAN 通信,需要借助一些网络设备和技术。以下详细讲解跨 VLAN 通信…...

11.4 Linux_线程_条件变量

概述 条件变量的作用: 条件变量和互斥量配合使用,主要应用于生产者和消费者问题。 这种问题也是一种临界资源的问题,但与互斥量一文中 "写文件" 这种资源不同。文件是一直存在的临界资源,而生产者的资源不是一直存在…...

通信工程学习:什么是IP网际协议

IP:网际协议 IP网际协议(Internet Protocol,简称IP)是整个TCP/IP协议栈中的核心协议之一,它负责在网络中传送数据包,并提供寻址和路由功能。以下是对IP网际协议的详细解释: 一、对IP网际协议的…...

github 国内文件加速下载

参看;https://www.cnblogs.com/ting1/p/18356265 在源网址前加上 https://hub.gitmirror.com/ 或https://mirror.ghproxy.com/,例如: https://hub.gitmirror.com/https://github.com/t1m0thyj/WinDynamicDesktop/releases/download/v5.4.1/WinDynamicD…...

算法6:模拟运算

文章目录 z字形变幻外观数列数青蛙 题目均来自于力扣 z字形变幻 class Solution { public:string convert(string s, int numRows) {int n s.size();if(n < numRows || numRows 1) return s;int d 2 * numRows - 2;string res;for(int j 0; j < n; j d){res s[j]; …...

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…...

今日指数day8实战补充(上)

1.用户管理 1.多条件综合查询 1.1 多条件综合查询接口说明 1&#xff09;原型效果 2&#xff09;接口说明 功能描述&#xff1a;多条件综合查询用户分页信息&#xff0c;条件包含&#xff1a;分页信息 用户创建日期范围 服务路径&#xff1a;/api/users 服务方法&#xff1…...

Python 之进阶语法:with...as...

1. Python with…as…是什么 Python 的 with…as… 语句&#xff0c;就像一个贴心的管家&#xff0c;负责照顾你的资源&#xff0c;让你不再担心忘记关闭文件、网络连接或数据库事务等。这个管家在你进入“房间”时自动打开门&#xff0c;离开时帮你把门关上&#xff0c;真的是…...

嵌入式硬件设计知识详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

计算机网络:物理层 —— 信道及其极限容量

文章目录 信道信道的极限容量信号失真失真类型产生信号失真的主要因素 奈式准则码元传输速率香农公式 信道 信道是指信息传输的通道或介质。在通信中&#xff0c;信道扮演着传输信息的媒介的角色&#xff0c;将发送方发送的信号传递给接收方。 信道可以是无线信道&#xff0c…...

面向对象特性中 继承详解

目录 概念&#xff1a; 定义&#xff1a; 定义格式 继承关系和访问限定符 基类和派生类对象赋值转换&#xff1a; 继承中的作用域&#xff1a; 派生类的默认成员函数 继承与友元&#xff1a; 继承与静态成员&#xff1a; 复杂的菱形继承及菱形虚拟继承&#xff1a; 虚…...

C++ | Leetcode C++题解之第455题分发饼干

题目&#xff1a; 题解&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int m g.size(), n s.size();int count 0;for (int i 0, j 0; i < …...

java版基于Spring Boot + Mybatis在线招投标|评标|竞标|单一采购|询价|邀标|在线开标|招标公告发布|评审专家|招投标采购系统源码

一、项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;…...

Anaconda的安装与环境设置

文章目录 一、Anaconda介绍二、Anaconda环境搭建1. 下载Anaconda(1)官网下载(2)清华大学镜像 2. 安装Anaconda3.配置环境变量4.检验conda是否安装成功5.更改镜像源6.若菜单栏没有conda prompt 三、虚拟环境1.创建、查看、删除虚拟环境2.激活、退出虚拟环境 四、CUDA、Pytorch、…...

使用FastAPI做人工智能后端服务器时,接口内的操作不是异步操作的解决方案

在做AI模型推理的接口时&#xff0c;这时候接口是非异步的&#xff0c;但是uvicorn运行FastAPI时就会出现阻塞所有请求。 这时候需要解决这个问题&#xff1a; api.py&#xff1a; import asyncio from fastapi import FastAPI from fastapi.responses import StreamingResp…...

Leetcode 3312. Sorted GCD Pair Queries

Leetcode 3312. Sorted GCD Pair Queries 1. 解题思路2. 代码实现 题目链接&#xff1a;3312. Sorted GCD Pair Queries 1. 解题思路 这一题的话坦率来说没有搞定&#xff0c;后来是找的大佬的代码抄了一下…… 整体来说这道题思路上还是比较暴力的&#xff0c;还是一个二重…...

用 Delphi 做了一个简单的 CMS

Delphi 代码上面花的时间最少。 前提是你要熟悉 Delphi 的 WebBroker 框架。不熟悉也没关系&#xff0c;5分钟就可以入门&#xff0c;10分钟就熟悉了。 CMS 就是个基于 WEB 的内容管理嘛。相当于一个简单的没有跟贴功能的 BBS。这样的东西&#xff0c;后边是数据库&#xff0…...

ASK, PSK, FSK, DPSK

ASK, PSK, FSK, DPSK详解&#xff1a; 这四种调制方式都是数字调制技术&#xff0c;用于将数字信号转换成适合在信道上传输的模拟信号。它们的主要区别在于如何用模拟信号的变化来表示数字信息。 1. ASK (Amplitude Shift Keying) 幅移键控: 原理: ASK 通过改变载波信号的幅…...

【Linux】认识Linux内核中进程级别的文件结构体【files_struct】&文件IO模型初步演示

前言 大家好吖&#xff0c;欢迎来到 YY 滴 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》…...

py每日spider案例之某website之xin东方选课搜索接口(难度一般 扣取代码即可)

加密位置: 逆向接口参数: 逆向接口: const g = globalThis; g.window = g; g.self = g; g.location = {<...

别再死记硬背了!用这个‘水管阀门’比喻,5分钟搞懂N沟道和P沟道MOS管工作原理

水管阀门模型&#xff1a;5分钟掌握MOS管的核心逻辑 第一次接触MOS管时&#xff0c;那些载流子、耗尽层、反型层的专业术语就像一堵高墙&#xff0c;把我们对电子世界的好奇心挡在外面。但当我发现可以用厨房水龙头的原理来理解这些抽象概念时&#xff0c;一切都变得清晰起来。…...

ElevenLabs乌尔都文TTS接入全链路解析:从API密钥配置到自然停顿优化(含3个未公开参数)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs乌尔都文TTS接入全链路解析&#xff1a;从API密钥配置到自然停顿优化&#xff08;含3个未公开参数&#xff09; ElevenLabs 官方虽未在文档中明确标注乌尔都语&#xff08;ur-PK&#xff09;…...

解锁Midjourney V6针孔相机效果:从模糊边缘到胶片噪点,7步零代码复刻1950年代Lomography美学

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney V6针孔相机美学的视觉基因解码 针孔相机&#xff08;Pinhole Camera&#xff09;作为一种无镜头、仅靠小孔成像的原始光学装置&#xff0c;其模糊边缘、高对比暗角、中心锐度衰减与天然晕影…...

087、机器人运动学:雅可比矩阵

087、机器人运动学:雅可比矩阵 一、一个让我熬夜三天的调试故事 去年做六轴协作机器人末端力控的时候,遇到一个诡异的问题:机器人末端在某个位姿下,明明关节速度指令给得很平滑,末端速度却突然跳变,导致力控震荡。当时我盯着示波器上的速度曲线,百思不得其解——运动学…...

2026年阿里云部署OpenClaw/Hermes Agent 配置Token Plan怎么快速上手?看这

2026年阿里云部署OpenClaw/Hermes Agent 配置Token Plan怎么快速上手&#xff1f;看这。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token …...

腾讯云轻量服务器镜像搬家到本地硬盘:一个被共享按钮“骗”了的故事

腾讯云轻量服务器镜像本地化实战&#xff1a;从共享陷阱到完整备份指南 第一次在腾讯云控制台点击"共享镜像"按钮时&#xff0c;我天真地以为数据已经安全地躺在我的本地硬盘里了。直到三天后需要紧急调用服务器环境时&#xff0c;才发现那个绿色的对勾图标不过是场…...

告别‘鬼影重重’:ENVI Pixel Based Mosaicking工具处理无坐标影像的完整流程与色彩均衡技巧

告别‘鬼影重重’&#xff1a;ENVI Pixel Based Mosaicking工具处理无坐标影像的完整流程与色彩均衡技巧 在遥感影像处理领域&#xff0c;影像镶嵌是基础却至关重要的环节。当面对多源、无坐标的影像数据时&#xff0c;传统的地理参考镶嵌工具往往束手无策&#xff0c;而ENVI的…...

缠论自动化分析终极指南:ChanlunX让复杂技术分析变得简单

缠论自动化分析终极指南&#xff1a;ChanlunX让复杂技术分析变得简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到迷茫&#xff1f;是否想要掌握缠论分析却苦于手工绘制…...

Harness Engineering 讲解

Harness 工程过去很长一段时间里&#xff0c;大家一提到“大模型怎么用好”&#xff0c;第一反应往往是&#xff1a;Prompt 怎么写&#xff1f; 于是&#xff0c;Prompt Engineering 成了很多人学习大模型的第一站。我们学习如何提问&#xff0c;如何给角色&#xff0c;如何写任…...