|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
| build | |
| hash | |
| crc32.d | |
| HashTest.d | |
| keccak.d | |
| md5.d | |
| sha1.d | |
| sha256.d | |
| sha3.d | |
| Base64.d | |
| Bitmap.d | |
| ComponentMemory.d | |
| ConsoleOutput.d | |
| DataMapsMemory.d | |
| DataMessage.d | |
| HTML.d | |
| jsmn.d | |
| MathClasses.d | |
| MemoryCommander.d | |
| MemoryController.d | |
| MemoryManager.d | |
| MemoryRequestConnection.d | |
| MemoryRequestQueues.d | |
| MemoryRequestServer.d | |
| MessageIndex.d | |
| MessagePlayer.d | |
| MovingAverage.d | |
| NetworkConnections.d | |
| NetworkManager.d | |
| NetworkProtocols.d | |
| Observations.d | |
| ProcessMemory.d | |
| PsyAPI.d | |
| PsyInternal.d | |
| PsySpace.d | |
| PsySSL.d | |
| PsyTime.d | |
| RequestClient.d | |
| RequestExecutor.d | |
| RequestGateway.d | |
| RESTAPI.d | |
| Stats.d | |
| Subscriptions.d | |
| TemporalMemory.d | |
| ThreadManager.d | |
| UnitTest_CMSDK.d | |
| UnitTestFramework.d | |
| Utils.d | |
| VantagePoints.d | |
| xml_parser.d | |
| include | |
| hash | |
| crc32.h | Third-party (vendored): CRC32 checksum from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| hash.h | Third-party (vendored): common Hash interface from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| HashTest.h | CMSDK unit test entry point for the vendored hash library (md5, sha1, sha256, crc32, sha3, keccak); exercises the classes against known test vectors |
| hmac.h | Third-party (vendored): RFC 2104 HMAC template from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| keccak.h | Third-party (vendored): Keccak (pre-standard SHA-3) hash from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| md5.h | Third-party (vendored): MD5 hash from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha1.h | Third-party (vendored): SHA-1 hash from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha256.h | Third-party (vendored): SHA-256 hash from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha3.h | Third-party (vendored): SHA-3 hash from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| Base64.h | Base64 encoding/decoding of arbitrary binary data (standard alphabet, '=' padding) |
| bimap.h | Third-party (vendored): STL-like bidirectional map by Joaquin M Lopez Munoz (2002-2006) |
| Bitmap.h | In-memory RGBA raster image (Bitmap) with drawing primitives, resizing, BMP file I/O and delta/RLE compression (BitmapUpdate) |
| CMSDKTest.h | Convenience umbrella header for the standalone CMSDKTest console program (see src/CMSDKTest.cpp); pulls in Utils and the unit test suite entry points |
| ComponentData.h | Legacy per-component data record stored in the page-based allocator (predecessor of ComponentMemory) |
| ComponentMemory.h | Shared-memory component registry: identity, location, parameters, private data and statistics for every component in the system |
| ConsoleOutput.h | Levelled console logging: verbose, debug and error printf-style output with per-subject filtering |
| ControlMessage.h | Lightweight internal control/command message used by the Psyclone runtime |
| DataMapsMemory.h | Shared-memory name/id maps: message types, contexts, tags, cranks and cross-process requests |
| DataMessage.h | The binary DataMessage container — the central data-exchange object of Psyclone/CMSDK |
| default.h | Minimal common include stub; historically the default precompiled/base header |
| direntwin.h | Third-party (vendored): POSIX dirent (directory browsing) emulation for Win32 by Kevlin Henney (1997) |
| DynamicMemory.h | Empty placeholder header for the dynamic-memory subsystem |
| HTML.h | HTML/URL helper utilities: entity encoding/decoding, MIME type lookup and URL component parsing |
| jsmn.h | Third-party (vendored): jsmn minimalistic JSON tokenizer by Serge Zaitsev (MIT licence), with local CMSDK adaptations (Utils.h include, C++ helpers) |
| MathClasses.h | Geometry and 2D/3D math value classes: Color, Size, Point, PointFloat, Line, PolyLine, Box, Vector2D, Vector3D and a random path generator |
| MemoryCommander.h | Stub for a shared-memory command dispatcher; currently a placeholder with no active role |
| MemoryController.h | Abstract interface that lets subsystem memories query/update their segment's id, size and resize serial |
| MemoryManager.h | Central shared-memory manager for a Psyclone node: master segment, per-subsystem shared maps and the page-based legacy allocator |
| MemoryMaps.h | Legacy shared-memory maps for the page-based allocator: reserved page ids, map entry layouts and the static MemoryMaps facade |
| MemoryMaps.tpl.h | Template implementations of the GenericMemoryMap shared-map algorithms |
| MemoryQueues.h | Ring-buffer message queues stored in shared memory, plus a static request/reply facility |
| MemoryRequestConnection.h | Client-side endpoint of the named shared-memory request/reply service |
| MemoryRequestQueues.h | Static algorithms for request queues and the request-status map used by the shared-memory request/reply server |
| MemoryRequestServer.h | Server side of the named shared-memory request/reply service |
| MessageIndex.h | In-memory, multi-key index over DataMessages with TTL-based expiry — the storage engine behind whiteboards |
| MessagePlayer.h | Record and replay of DataMessage streams to/from disk |
| MovingAverage.h | Time-binned moving average / throughput tracker |
| NetworkConnections.h | Raw socket transport layer: TCP/UDP/SSL connections and TCP listeners with buffered, thread-safe I/O |
| NetworkManager.h | Connection/channel management layer: multi-protocol listeners, typed dispatch, HTTP client — and the CMSDK's built-in HTTP/WebSocket server |
| NetworkProtocols.h | Wire-protocol layer: HTTP request/reply, WebSocket frames, Telnet lines, binary DataMessages, and protocol auto-detection |
| ObjectIDs.h | Object type ids used to tag and verify every binary structure in CMSDK memory |
| Observations.h | Typed "observation" records extracted from DataMessages: location, dimension, integer, float, time and string observations |
| Observations.tpl.h | Template implementations for GenericObservation<T> (declared in Observations.h) |
| ProcessMemory.h | Shared-memory process ("space") table plus per-process message queues |
| PsyAPI.h | PsyAPI — the component-facing API handle of the CMSDK |
| PsyInternal.h | Built-in internal cranks and message-script playback structures |
| PsySpace.h | The PsySpace process/node context: the runtime container in which Psyclone components (cranks) live and execute |
| PsySSL.h | Minimal OpenSSL-based TLS server helpers for the CMSDK |
| PsyTime.h | CMSDK time: µs-resolution 64-bit timestamps and the Time Mapping Constant (TMC) |
| RequestClient.h | Request-system client side: RequestReply futures, RequestQueue, gateway connection records and the RequestClient itself |
| RequestExecutor.h | Request-system worker side: RequestExecutor pulls requests from a RequestGateway, processes them and replies |
| RequestGateway.h | Request-system router: RequestGateway accepts client requests (binary/HTTP/WebSocket), load-balances them across RequestExecutors and routes replies back; includes a call log and an embedded web server |
| RESTAPI.h | XML-defined REST API parsing: turn HTTP requests (or DataMessages) into validated RESTRequest objects |
| Standard.h | Platform/compiler detection and base portability macros for all of CMSDK |
| Stats.h | Thread-safe running statistics over a sliding window of samples |
| Subscriptions.h | Subscription, trigger, retrieval, query, post and signal specifications — the declarative wiring of a Psyclone system |
| TemporalMemory.h | Slot/bin shared-memory store for time-limited DataMessages (the node's "dynamic" memory) |
| ThreadManager.h | Process-wide thread registry and lifecycle manager: the concurrency core of CMSDK |
| Types.h | Core fixed-width scalar typedefs and the PsyType / PsyContext hierarchical identifiers |
| UnitTest_CMSDK.h | Top-level entry points for running the CMSDK unit test suite |
| UnitTestFramework.h | Small, dependency-free unit test harness used by all CMSDK object tests |
| Utils.h | Cross-platform utility toolbox for CMSDK: threading, synchronization, shared memory, processes, sockets, files, strings, conversions and randomness |
| VantagePoints.h | Management of a fixed set of spatial "perch" points that entities can reserve, occupy and free |
| xml_parser.h | Small recursive XML DOM parser (XMLNode) used by CMSDK for all PsySpec XML parsing |
| pages | |
| src | |
| hash | |
| crc32.cpp | Third-party (vendored): CRC32 checksum implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| digest.cpp | Third-party (vendored): digest demo/driver from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| HashTest.cpp | CMSDK unit test for the vendored hash library: runs md5/sha1/sha256/ crc32/sha3/keccak against known test vectors |
| keccak.cpp | Third-party (vendored): Keccak hash implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| md5.cpp | Third-party (vendored): MD5 hash implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha1.cpp | Third-party (vendored): SHA-1 hash implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha256.cpp | Third-party (vendored): SHA-256 hash implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| sha3.cpp | Third-party (vendored): SHA-3 hash implementation from Stephan Brumme's portable hashing library (create.stephan-brumme.com) |
| Base64.cpp | |
| Bitmap.cpp | Implementation of Bitmap and BitmapUpdate: RGBA raster storage, drawing primitives, integer-ratio resizers, BMP file (de)serialization and the RLE/difference codecs used for incremental remote-display updates |
| cmsdk2.py | |
| cmsdk2_wrap.cxx | |
| cmsdk2debug.py | |
| cmsdk2debug_wrap.cxx | |
| cmsdk3.py | |
| cmsdk3_wrap.cxx | |
| cmsdk3debug.py | |
| cmsdk3debug_wrap.cxx | |
| cmsdkjava_wrap.cxx | |
| cmsdkjavadebug_wrap.cxx | |
| CMSDKTest.cpp | Standalone console entry point that runs the full CMSDK unit test suite (UnitTest_CMSDK()) outside of the Psyclone executable |
| ComponentData.cpp | Implementation of the legacy page-based ComponentData record accessor |
| ComponentMemory.cpp | Implementation of the shared component registry: record allocation/relocation, parameters, private data, stats and migration support |
| ConsoleOutput.cpp | Implementation of the levelled console logging functions: per-subject verbose/debug/error filtering and printf-style output |
| ControlMessage.cpp | Implementation of the ControlMessage wrapper and its self test |
| DataMapsMemory.cpp | Implementation of the shared name/id maps (types, contexts, tags, cranks) and the request map, including two-phase id allocation and cluster sync |
| DataMessage.cpp | Implementation of DataMessage: construction, flat-block entry management, format conversion and (de)serialisation to JSON/XML/CSV |
| direntwin.cpp | Third-party (vendored): implementation of the Win32 POSIX dirent emulation declared in include/direntwin.h (Kevlin Henney, 1997) |
| DynamicMemory.cpp | Placeholder implementation file for the dynamic-memory subsystem (see TemporalMemory.cpp for the real store) |
| HTML.cpp | Implementation of the HTML/URL helpers: entity encode/decode tables, extension-to-MIME-type mapping and URL component extraction |
| jsmn.cpp | Third-party (vendored): jsmn JSON tokenizer implementation (see include/jsmn.h) |
| MathClasses.cpp | Implementation of the geometry/math value classes declared in MathClasses.h |
| MemoryCommander.cpp | Stub implementation of the MemoryCommander placeholder |
| MemoryController.cpp | Trivial constructor/destructor of the abstract MemoryController interface |
| MemoryManager.cpp | Implementation of MemoryManager, MasterMemory, PsycloneIndex and the legacy MemoryManagerX page allocator |
| MemoryMaps.cpp | Implementation of the legacy static MemoryMaps facade over the page-based shared maps |
| MemoryQueues.cpp | Implementation of the shared-memory MessageQueue ring buffers and the static request/reply helpers, plus their unit tests |
| MemoryRequestConnection.cpp | Implementation of the client endpoint of the named shared-memory request/reply service, including the out-of-order reply cache |
| MemoryRequestQueues.cpp | Implementation of the raw request-queue and request-status-map algorithms used by the request/reply service |
| MemoryRequestServer.cpp | Implementation of the request/reply server: segment creation, request dispatch and connection maintenance |
| MessageIndex.cpp | Implementation of the multi-key DataMessage index: per-key multimaps, EOL-driven eviction and range queries |
| MessagePlayer.cpp | Implementation of DataMessage recording and timed replay, including index/metadata files and CSV export |
| MovingAverage.cpp | Implementation of the time-binned MovingAverage tracker |
| NetworkConnections.cpp | Implementation of the raw socket transports: TCPListener, TCPConnection, UDPConnection and SSLConnection (OpenSSL) |
| NetworkManager.cpp | Implementation of NetworkManager, NetworkChannel and NetworkThread: channel/connection lifecycle, protocol worker threads (HTTP server/client, message, telnet, WebSocket), protocol auto-detection and the blocking makeHTTPRequest() client, plus networking unit tests |
| NetworkProtocols.cpp | Implementation of the wire-protocol layer: HTTPRequest/HTTPReply parsing and generation, WebSocket (RFC 6455) framing with masking and extended payload lengths in network byte order, Telnet lines, JSONM multipart containers and the protocol auto-detection checks |
| Observations.cpp | |
| ProcessMemory.cpp | Implementation of the shared process table and per-process command/message/signal/request queues with named-semaphore signalling |
| PsyAPI.cpp | Implementation of PsyAPI, the component-facing API handle (see PsyAPI.h) |
| PsyInternal.cpp | Implementation of the built-in internal cranks (see PsyInternal.h): ping/pong tests, shutdown, printing, message-script playback, stats logging and other system-service/diagnostic components dispatched by PsySpace |
| PsySpace.cpp | Implementation of PsySpace, TimeQueue and TimeQueueSchedule (see PsySpace.h) |
| PsySSL.cpp | Implementation of the OpenSSL-based TLS server helpers (see PsySSL.h) |
| PsyTime.cpp | Implementation of the CMSDK time functions (see PsyTime.h) |
| RequestClient.cpp | Implementation of the request-system client side: RequestReply completion/waiting, RequestClient's gateway connection upkeep, request dispatch and reply matching, plus the load-test clients used by the gateway unit test |
| RequestExecutor.cpp | Implementation of the request-system worker side: gateway link upkeep with heartbeats, short/long request queueing and the reply path, plus the delay-simulating TestRequestExecutor |
| RequestGateway.cpp | Implementation of the request-system router: ingress over binary/ HTTP/WebSocket, executor load balancing and liveness (heartbeat timeout, dead-executor redistribution), reply routing, the RequestQueue, call logging, the built-in web server/APIs, and the end-to-end unit test |
| RESTAPI.cpp | Implementation of RESTParser, RESTRequest and RESTHTTPCall (see RESTAPI.h) |
| Stats.cpp | Implementation of the Stats sliding-window sample collector |
| Subscriptions.cpp | Implementation of the named lookups on TriggerSpec tails and TriggerSpec XML serialisation |
| TemporalMemory.cpp | Implementation of the slot/bin temporal message store: bin selection, block allocation, growth/resize and EOL expiry sweeps |
| ThreadManager.cpp | Implementation of the ThreadManager singleton, its monitoring thread and its self-contained unit test |
| UnitTest_CMSDK.cpp | Suite assembly for the CMSDK unit tests: collects each object's Register_*_Tests() function and implements the RunCMSDKTests() dispatch used by Psyclone's test= command line |
| UnitTestFramework.cpp | Implementation of the CMSDK unit test harness (UnitTestRunner and the unittest:: reporting API) |
| Utils.cpp | Implementation of the cross-platform utility layer declared in Utils.h |
| VantagePoints.cpp | |
| xml_parser.cpp | Vendored third-party XML parser implementation (V2.31, Frank Vanden Berghen, BSD license); see xml_parser.h |