ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Packet types: abstract specification of network protocol messages
Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication
Developing flexible and high-performance Web servers with frameworks and patterns
ACM Computing Surveys (CSUR)
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
DataScript - A Specification and Scripting Language for Binary Data
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
PADS: a domain-specific language for processing ad hoc data
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Tatoo: an innovative parser generator
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
binpac: a yacc for writing application protocol parsers
Proceedings of the 6th ACM SIGCOMM conference on Internet measurement
Network programming for the rest of Us
ATEC '03 Proceedings of the annual conference on USENIX Annual Technical Conference
SRDS '07 Proceedings of the 26th IEEE International Symposium on Reliable Distributed Systems
Saburo, a tool for I/O and concurrency management in servers
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Hi-index | 0.00 |
This paper presents Banzai a Java framework that uses the Tatoo parser generator to simplify the implementation of high-performance servers based on plain-text protocols. This approach conciliates the use of formally defined grammars for protocol parsing and the efficiency of the implementation. We argue that the use of the formal grammars simplifies the implementation of the protocol and we show that an HTTP server built using the Banzai framework is as efficient as several existing ad-hoc high-performance HTTP servers. The Banzai framework relies on the ability of Tatoo to produce push non-blocking parsers with a fixed memory footprint during parsing and on a generic and efficient server architecture.