Book description
This book introduces the tools you'll need to program with the packetC language
packetC speeds the development of applications that live within computer networks, the kind of programs that provide network functionality for connecting "clients" and "servers" and "clouds." The simplest examples provide packet switching and routing while more complex examples implement cyber security, broadband policies or cloud-based network infrastructure.
Network applications, such as those processing digital voice and video, must be highly scalable, secure and maintainable. Such application requirements translate to requirements for a network programming language that leverages massively-parallel systems and ensures a high level of security, while representing networking protocols and transactions in the simplest way possible.
packetC meets these requirements with an intuitive approach to coarse-grained parallelism, with strong-typing and controlled memory access for security and with new data types and operators that express the classic operations of the network-oriented world in familiar programming terms.
No other language has addressed the full breadth of requirements for tractable parallelism, secure processing and usable constructs. The packetC language is growing in adoption and has been used to develop solutions operating in some of the world's largest networks.
This important new language, packetC, has now been successfully documented in this book, in which the language's authors provide the materials and tools you'll need in a readable and accessible form.
What you'll learn
This book is the primary document specifying the language from a developer's point of view and act as the formal language user's guide. It covers:
How to program applications in packetC.
The parallel programming model of packetC
Deviations from C99 and the unique aspects of packetC
How to leverage existing C code and the applicability of the C standard libraries
Who this book is for
packetC Programming is written for a wide variety of potential programmers. Most importantly, it's for people who need to use packetC to program for the Internet backbone. Still, knowledge of the packetC language will help a much wider array of programmers who need to write effective code that will be optimized for the cloud and work effectively and efficiently through complex network structures. Finally, readers will learn about how and why packetC is needed, and to better understand the technologies, standards and issues surrounding the 'net. If you really want to understand this level of programming, this book is a must-have!Table of contents
- Title
- Contents at a Glance
- Contents
- About the Authors
- Acknowledgments
- Introduction
- Part I: packetC Background
-
Part II: Language Reference
-
Chapter 6: Data Initialization and Mathematical Expressions
- Data Initialization, Expressions, and Operators
- Variable and Constant Declarations
- Variable and Constant Initialization
- Classic C Expressions and Operators
- Operators
- Associativity
- Multiplicative Operators
- Additive Operators
- Relational Operators
- Equality Operators
- Assignment Operators
- Logical AND Operator
- Logical OR Operator
- Bitwise AND Operator
- Bitwise Exclusive OR (XOR) Operator
- Bitwise Inclusive OR Operator
- Bitwise Shift Operator
- Unsupported Operators
- Chapter 7: Functions
- Chapter 8: packetC Data Type Fundamentals
- Chapter 9: C-Style Data Types
- Chapter 10: Basic Packet Interaction and Operations
-
Chapter 11: Selection Statements
- Covering packetC Basic Control Statements
- Compound Statement
- Conditional Expressions
- Chapter 12: Loops and Flow Control
- Chapter 13: Exception Handling
- Chapter 14: packetC Database Types and Operations
-
Chapter 15: packetC Search Set Types and Operations
- Searchsets in packetC for Unstructured Content Analysis
- Searchsets
- Searchset Declarations
- Constant Searchsets and Sizes
- Null Termination Issues
- Match Operator
- Find Operator
- Regex Specifier
- Interaction of packetC Pre-Processor with Regular Expressions
- General Search Set Usage, Operation, and Mechanics
- Searchset Example Application
- Chapter 16: Reference Type and Operation
- Chapter 17: Semaphores in packetC
- Chapter 18: Packet Information Block and System Packet Operations
- Chapter 19: Descriptor Type and Operations
-
Part III: Developing Applications
- Chapter 20: Control Plane and System Interaction
- Chapter 21: packetC Pre-Processor
- Chapter 22: Pragmas and Other Key Compiler Directives
- Chapter 23: Developing Large Applications in packetC
- Chapter 24: Construction of a packetC Executable
- Chapter 25: packetC Standard Networking Descriptors
-
Chapter 26: Developing for Performance
- Developing for Performance in packetC
- Counting Bits Set
- Simplest Computation Scenario
- Improving the Computational Algorithm
- Altering the Algorithm with Memory Use in Exchange of Processing
- Metadata Analysis
- Netflow Record Generation
- DDoS Trend Analysis
- VoIP QoS Analysis
- Processing Minimization
- Whatever You Do … Don’t Involve Other Contexts
-
Chapter 27: Standard Libraries
- Assessment of C Standard Library Functions
- packetC Standard Libraries
- ascii.ph - Named Values for ASCII Characters
- limits.ph - A packetC Replacement For C limits.h Functionality
- moreprotocols.ph - Named Values For Network Protocol Field Values
- namedoperators.ph - Replacement for iso646.h Named Operators
- trojanprotocols.ph - Named Values for Port Numbers Trojan Network Protocol Operate On
-
Part IV: Industry Reprints
- REPRINT 1: packetC Language for High Performance Packet Processing
- REPRINT 2: A Paradigm for Processing Network Protocols in Parallel
- REPRINT 3: Dynamically Accessing Packet Header Fields at High-speed
- REPRINT 4: packetC Language and Parallel Processing of Masked Databases
- REPRINT 5: Packet Content Matching with packetC Searchsets
- REPRINT 6: References for Run-time Aggregate Selection with Strong Typing
- REPRINT 7: Portable Bit Fields in packetC
- REPRINT 8: packet Field and Bitfield Allocation Order
- REPRINT 9: Managing Heterogeneous Architectures for High-speed Packet Processing
-
APPENDIX A: Reference Tables
- Keywords
- ASCII Table with Decimal to Hexadecimal Conversion
- Bits and Bytes
- TCP/IP and OSI Model Network Stack
- Header Formats
- Basic Ethernet II Header Format
- Ethernet Header with VLAN Tag (802.1Q) Format
- Ethernet Header with Stacked VLAN Tags (802.1Q in Q) Format
- IPv4 Header
- IPv6 Header
- TCP Header
- UDP Header
- ICMP Header
- APPENDIX B: Open Systems Vendors for packetC
- APPENDIX C: Glossary
-
Chapter 6: Data Initialization and Mathematical Expressions
- Index
Product information
- Title: packetC Programming
- Author(s):
- Release date: December 2011
- Publisher(s): Apress
- ISBN: 9781430241584
You might also like
book
Programming the Semantic Web
With this book, the promise of the Semantic Web -- in which machines can find, share, …
book
Semantic Web Programming
The next major advance in the Web Web 3.0 will be built on semantic Web technologies, …
book
C++20 for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners
Ready to learn programming with less effort and more fun? Then do it the lazy way! …
book
Programming Microcontrollers with Python: Experience the Power of Embedded Python
For the first time microcontrollers are powerful enough to be programmed in Python. The landscape of …