zerodds-corba-cos-trading
CORBA stack. OMG Trading Object Service (
CosTrading): service discovery through constraint expressions over typed offers.
- Source: crates/corba-cos-trading
- API docs: docs.rs/zerodds-corba-cos-trading
zerodds-corba-cos-trading implements a trader over an in-memory offer
database. Providers export offers (service type, properties, object reference bytes)
with Trader::export or, checked against a service-type repository,
export_checked, and remove them with withdraw. Consumers call
query with a service type, a constraint expression, a Preference
and a result limit (0 = unlimited).
property—Value:Int(i64),Float(f64),Str,Bool.constraint— tokenizer, recursive-descent parser and evaluator for a subset of the OMG trading constraint language: comparisons== != < <= > >=,and/or/not,exist <prop>, parentheses, integer, float,'string',TRUE/FALSEliterals. A comparison over a property the offer does not carry is false.trader—Traderwithexport/withdraw/query;Preference::First(export order),Max(prop),Min(prop).service_type—ServiceTypeRepository: inheritance graph of service types, subtype matching (a query on a base type also matches offers of derived types), check of mandatory properties at export;PropertyModeNormal,ReadOnly,Mandatory,MandatoryReadOnly.dynamic—DynamicPropEval: property values computed again on every query.federation—Federationof named trader nodes in one process; aLinkforwards queries, bounded by a hop count and aFollowOption(LocalOnly,IfNoLocal,Always), with loop avoidance; aProxyOfferforwards a query to a target trader and joins a recipe constraint withand.
Spec anchors
- OMG Trading Object Service:
CosTradingRegister,Lookup,Link,Proxy;CosTradingReposServiceTypeRepository;CosTradingDynamicDynamicPropEval; the trading constraint language (subset). The source names these interfaces but cites no section numbers. - Coverage: zerodds-corba-cos-trading-1.0.
Consumers
- No crate in the workspace depends on
zerodds-corba-cos-trading.
Features
std(default) — enablesalloc.alloc— no further effect.- No code in
src/is gated by either feature; the crate is#![no_std]withallocin every configuration.
Status
#![no_std]withalloc, no dependencies.forbid(unsafe_code).- Library only, no binaries.
- 36 test functions in the source (
src/).
zerodds-corba-cos-trading
CORBA-Stack. OMG Trading Object Service (
CosTrading): Dienstsuche über Bedingungsausdrücke auf typisierten Angeboten.
- Quelle: crates/corba-cos-trading
- API-Docs: docs.rs/zerodds-corba-cos-trading
zerodds-corba-cos-trading implementiert einen Trader über einer
Angebotsdatenbank im Speicher. Anbieter exportieren Angebote (Diensttyp, Eigenschaften,
Bytes der Objektreferenz) mit Trader::export oder, geprüft gegen ein
ServiceTypeRepository, mit export_checked und entfernen sie mit
withdraw. Nutzer rufen query mit Diensttyp, Bedingungsausdruck,
Preference und Höchstzahl der Treffer auf (0 = unbegrenzt).
property—Value:Int(i64),Float(f64),Str,Bool.constraint— Tokenizer, rekursiv absteigender Parser und Auswerter für eine Teilmenge der Bedingungssprache des OMG Trading Object Service: Vergleiche== != < <= > >=,and/or/not,exist <prop>, Klammern, Literale für Ganzzahl, Gleitkommazahl,'string',TRUE/FALSE. Ein Vergleich über eine Eigenschaft, die das Angebot nicht trägt, ist falsch.trader—Tradermitexport/withdraw/query;Preference::First(Exportreihenfolge),Max(prop),Min(prop).service_type—ServiceTypeRepository: Vererbungsgraph der Diensttypen, Untertyp-Abgleich (eine Anfrage auf einen Basistyp findet auch Angebote abgeleiteter Typen), Prüfung der Pflichteigenschaften beim Export;PropertyModeNormal,ReadOnly,Mandatory,MandatoryReadOnly.dynamic—DynamicPropEval: Eigenschaftswerte, die bei jeder Anfrage neu berechnet werden.federation—Federationaus benannten Tradern in einem Prozess; einLinkleitet Anfragen weiter, begrenzt durch eine Höchstzahl an Weiterleitungen und eineFollowOption(LocalOnly,IfNoLocal,Always), mit Schleifenvermeidung; einProxyOfferleitet eine Anfrage an einen anderen Trader weiter und verknüpft sie perandmit einer festen Bedingung des Proxys.
Spec-Anker
- OMG Trading Object Service:
CosTradingRegister,Lookup,Link,Proxy;CosTradingReposServiceTypeRepository;CosTradingDynamicDynamicPropEval; die Bedingungssprache des Trading Service (Teilmenge). Der Quelltext nennt diese Schnittstellen, zitiert aber keine Abschnittsnummern. - Abdeckung: zerodds-corba-cos-trading-1.0.
Konsumenten
- Kein Crate im Workspace hängt von
zerodds-corba-cos-tradingab.
Features
std(Standard) — aktiviertalloc.alloc— keine weitere Wirkung.- Kein Code in
src/hängt an einem der beiden Features; das Crate ist in jeder Konfiguration#![no_std]mitalloc.
Status
#![no_std]mitalloc, keine Abhängigkeiten.forbid(unsafe_code).- Nur Bibliothek, keine Binaries.
- 36 Testfunktionen im Quelltext (
src/).