pub struct Request {
pub request_id: u32,
pub response_flags: ResponseFlags,
pub target: TargetAddress,
pub operation: String,
pub requesting_principal: Option<Vec<u8>>,
pub service_context: ServiceContextList,
pub body: Vec<u8>,
}Expand description
Request-Message-Body (versions-uniform Repraesentation).
Fields§
§request_id: u32request_id.
response_flags: ResponseFlagsresponse_flags (GIOP 1.2) bzw. response_expected-Aequivalent.
target: TargetAddressObject-Adressing — in GIOP 1.0/1.1 immer Key; in GIOP 1.2
kann jede TargetAddress-Variante vorkommen.
operation: StringOperation-Name (string, NUL-terminiert ueber CDR).
requesting_principal: Option<Vec<u8>>requesting_principal (CSI::AuthorizationToken =
sequence<octet>). In GIOP 1.2 entfernt; wir halten das Feld
als Option fuer Versions-Inter-Op.
service_context: ServiceContextListservice_context_list.
body: Vec<u8>Body-Bytes (CDR-encoded in/inout-Args). Caller liefert
die fertig-kodierten Bytes; dieser Codec haengt sie unaligned
an den Header — das body-Alignment-Anchor (8 Bytes ab
Header-Start) ist in GIOP 1.2 spec-relevant und wird vom
Encoder erzwungen (Spec §15.4.2.2 normativ).
Implementations§
Source§impl Request
impl Request
Sourcepub fn new(
request_id: u32,
response_flags: ResponseFlags,
target: TargetAddress,
operation: String,
) -> Self
pub fn new( request_id: u32, response_flags: ResponseFlags, target: TargetAddress, operation: String, ) -> Self
Konstruktor.
Sourcepub fn encode(&self, version: Version, w: &mut BufferWriter) -> GiopResult<()>
pub fn encode(&self, version: Version, w: &mut BufferWriter) -> GiopResult<()>
CDR-Encode in einen BufferWriter. Body-Alignment auf 8 Bytes
ab Header-Start (= 8 Bytes ab Buffer-Start in GIOP 1.2,
Spec §15.4 normativ).
§Errors
Buffer-Schreibfehler oder Length-Overflow.