This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Triton Repository". The branch, master has been updated via eeb1adfaa1ca48c66c144696a07bbb6d4a27a6af (commit) from 9f5854e016bdcbc44ae1f460e2f8fc6018d8cf81 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit eeb1adfaa1ca48c66c144696a07bbb6d4a27a6af Author: Phil Carns <[email protected]> Date: Wed Aug 3 21:33:23 2011 -0500 starting point for aesop documentation ----------------------------------------------------------------------- Summary of changes: code/doc/aesop.txt | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ code/doc/module.mk.in | 3 +- 2 files changed, 66 insertions(+), 1 deletions(-) create mode 100644 code/doc/aesop.txt Diff of changes: diff --git a/code/doc/aesop.txt b/code/doc/aesop.txt new file mode 100644 index 0000000..6203687 --- /dev/null +++ b/code/doc/aesop.txt @@ -0,0 +1,64 @@ +Aesop +===== + +== Source files + +Aesop source and header files are named *.ae and *.hae, respectively. They +are used exactly like c source and header files, except that they support +additional constructs, such as the __blocking qualifier for functions and +the pwait and pbranch constructs. + +In addition, Aesop remote code (ie, RPC functions) can be found in .aer and +.haer functions. These source files support an additional __remote +qualifier for functions to be invoked via RPC. + +== Compilers + +The configure process produces two compilers in the maint/ directory. aecc +is a compiler for .ae files, and aercc is a compiler for .aer files. Both +are shell scripts that combine preprocessing, source translation, and +compilation into one step. + +== Resources + +Resources are the lowest level aesop components that present Aesop +compatible intefaces for managing concurrency. The current list of +resources includes: + +* file resource +** code/src/versioned-osd/prototype/file-resource +** provides a mapping of open, close, read, write etc. functions. It uses + a thread pool by default to implement nonblocking semantics. + +* Berkeley DB resource +** code/src/versioned-osd/prototype/bdb-resource +** provides a mapping of common Berkeley DB functions. It uses a thread + pool by default to implement nonblocking semantics. + +* socket resource +** code/src/common/resources/aesocket/ +** waits for a file descriptor to be ready for read or write operations. + It does not implement actual read or write calls; it is assumed that the + caller will use this resource in conjunction with nonblocking reads and + writes. It uses libev, which in turn uses epoll() on Linux. + +* timer resource +** code/src/common/resources/timer/ +** implements timers with millisecond resolution. The underlying + implementation uses libev. + +* scheduling resource +** code/src/common/resource/scheduling/ +** Implements various synchronization primitives, for example Aesop + equivalents for condition variables. + +* branch threader resource +** code/src/common/resource/branch-threader/ +** Proof of concept that allows the developer to manually allocate a thread + for particular aesop code blocks. + +== Test programs + +A variety of tests and/or examples for Aesop functionality can be found in +the code/src/aesop/parser/tests/blocking directory. These tests use a +dummy resource to demonstrate various language features. diff --git a/code/doc/module.mk.in b/code/doc/module.mk.in index 659b2ad..46769d8 100644 --- a/code/doc/module.mk.in +++ b/code/doc/module.mk.in @@ -4,4 +4,5 @@ DOCSRC += $(DIR)/test.txt \ $(DIR)/fault-handling-overview.txt \ $(DIR)/fault-injection.txt \ $(DIR)/pipelining.txt \ - $(DIR)/compiling-triton.txt + $(DIR)/compiling-triton.txt \ + $(DIR)/aesop.txt hooks/post-receive -- Triton Repository