Introduction P4 is a declarative language for expressing how packets are processed by the pipeline of a network forwarding element such as a switch, NIC, router or network function appliance. It is based upon an abstract forwarding model consisting o…
前言 本文参考P4.org网站给出的<The P4 Language Specification v1.0.2>的第二部分首部及字段,仅供学习:). 欢迎交流! Header and Fields 目录 (1)首部类型,Header Type (2)首部实例(Header instances 和 Metadata instances) 检查实例是否合法(valid) Header Stacks (3)Headers and Fields 索引指针(References) (4)Fields L…
<p4规范>解析器部分详解 p4解析器是根据有限状态机的思想来设计的. 解析器中解析的过程可以被一个解析图(parser graph)所表示,解析图中所表示的某一个状态(或者说,在P4语言中的某一个解析函数)看做是一个状态节点,每一个状态转换等同于跨越状态节点之间的边界. (图2) 图2展示了一个非常简单的例子.请注意,在图二中的每一个状态节点都明确识别了一个首部实例. 虽然P4支持这种图表的形式,但是并不是非它不可. 在解析图中的某一个状态节点,也许只是一个单纯的.没有绑定任何特定首部实例的…
C#(念作 See Sharp)是一种简单.现代.面向对象并且类型安全的编程语言.C# 源于 C 语言家族,因此 C.C++ 和 Java 工程师们能迅速上手.ECMA 国际[1](ECMA International)发布的 ECMA-334 规范[2]和由国际标准化组织[3](ISO)及国际电工委员会[4](IEC)发布的 ISO/IEC 23270 规范使 C# 语言成为一种标准化的语言,微软 .NET Framework C# 编译器就是遵照了这两个标准而实现的. C# 不仅是一门面向对…
程序 C# 程序(program)由至少一个源文件(source files)组成,其正式称谓为编译单元(compilation units)[1].每个源文件都是有序的 Unicode 字符序列.源文件通常与文件系统内的相应文件具有一对一关系,但这种相关性并非必须因素.为尽最大可能确保可移植性,推荐文件系统中的文件编码为 UTF-8 编码规范. 从理论上来说,程序编译由三步骤组成: 转换(transformation),将文件中的特定字符编码方案转换为 Unicode 字符序列: 词法分析(l…
应用程序启动 拥有进入点(entry point)的程序集称应用程序(application).当运行一应用程序时,将创建一新应用程序域(application domain).同一个应用程序可在同一台机器(machine)上同时运行多个实例,并且每个实例都有自己的应用程序域. 应用程序域作为应用程序状态(application state)之容器(container),使应用程序相互隔离(isolation).应用程序域是定义于应用及所用类库的类型之容器与边界.加载入不同的应用程序域的同一类型…
C# 语言的类型分为两大类:值类型(value type)和引用类型(reference type),而它们又都同时具有至少一个类型形参的泛型类型(generic type).类型形参(type parameters)能同时指定值类型和引用类型. 第三类是指针(pointers),只能用于非安全代码(unsafe code)中.关于非安全代码,将在第十八章第二节内讨论. 值类型与引用类型不同之处在于值类型的变量直接包含其数据,而引用类型的变量保存对其数据的引用(references),后者被称为…
变量(variable)表示存储的位置.每个变量都有类型,类型决定变量保存的值的类型.C# 是一门类型安全的语言,C# 编译器会确保变量中保存一个适合类型的值.变量的值可通过赋值或通过使用 ++ 与 -- 操作符改变. 变量必须在获得(obtained)前被明确赋值(definitely assigned)(第五章第三节). 如以下部分所述,变量要么初始已赋值(initially assigned),要么初始未赋值(initially unassigned).初始已赋值的变量有非常明确(well…
翻译:小马哥 日期:2004-5-22 BitTorrent 是一种分发文件的协议.它通过URL来识别内容,并且可以无缝的和web进行交互.它基于HTTP协议,它的优势是:如果有多个下载者并发的下载同一个文件,那么,每个下载者也同时为其它下载者上传文件,这样,文件源可以支持大量的用户进行下载,而只带来适当的负载的增长.(译注:因为大量的负载被均衡到整个系统中,所以提供源文件的机器的负载只有少量增长) 一个BT文件分布系统由下列实体组成: 一个普通的web服务器 一个静态的“元信息”文件 一个跟踪…
转换使表达式可以当做一个明确的类型来加以处理.转换使得所给定类型的表达式以不同类型来处理,或使得没有某个类型的表达式获得该类型.转换可以是显式或隐式的,而这决定了是否需要显式地强制转换.比方说,从类型 int 向类型 long 的转换是隐式的,所以 int 类型表达式可以隐式地当做 long 的来处理.反过来转换,从类型 long 转换为 int 是显式的,需要显式的强制转换(explicit cast). int a = 123; long b = a; // 从 int 到 long 隐式转…