Class RequestMsg
This message is sent from client to server and contains contract type, method specification and invocation arguments which are either included as object[] if RequestAnyMsg is used or inlined in RequestMsg- typed derivative for speed to avoid boxing
Inheritance
Inherited Members
Namespace: Azos.Glue.Protocol
Assembly: Azos.dll
Syntax
[Serializable]
public abstract class RequestMsg : Msg
Constructors
RequestMsg(RequestMsg, TypeSpec, MethodSpec, Boolean, Nullable<Guid>, Boolean, Boolean)
This .ctor is handy for message inspectors. Creates a substitute message for the original one with new values. Binding-specific context is cloned and headers/correlation data are cloned conditionaly
Declaration
protected RequestMsg(RequestMsg inspectedOriginal, TypeSpec contract, MethodSpec method, bool oneWay, Guid? instance, bool cloneHeaders = true, bool cloneCorrelation = true)
Parameters
Type | Name | Description |
---|---|---|
RequestMsg | inspectedOriginal | |
TypeSpec | contract | |
MethodSpec | method | |
System.Boolean | oneWay | |
System.Nullable<System.Guid> | instance | |
System.Boolean | cloneHeaders | |
System.Boolean | cloneCorrelation |
RequestMsg(RequestMsg, MethodInfo, Nullable<Guid>, Boolean, Boolean)
This .ctor is handy for message inspectors. Creates a substitute message for the original one with new values. Binding-specific context is cloned and headers/correlation data are cloned conditionaly
Declaration
protected RequestMsg(RequestMsg inspectedOriginal, MethodInfo method, Guid? instance, bool cloneHeaders = true, bool cloneCorrelation = true)
Parameters
Type | Name | Description |
---|---|---|
RequestMsg | inspectedOriginal | |
System.Reflection.MethodInfo | method | |
System.Nullable<System.Guid> | instance | |
System.Boolean | cloneHeaders | |
System.Boolean | cloneCorrelation |
RequestMsg(TypeSpec, MethodSpec, Boolean, Nullable<Guid>)
Constructs request message from pre-computed specs obtained by reflection. This constructor is the fastest as it does not use reflection
Declaration
protected RequestMsg(TypeSpec contract, MethodSpec method, bool oneWay, Guid? instance)
Parameters
Type | Name | Description |
---|---|---|
TypeSpec | contract | |
MethodSpec | method | |
System.Boolean | oneWay | |
System.Nullable<System.Guid> | instance |
RequestMsg(MethodInfo, Nullable<Guid>)
Constructs request message from method information and arguments for call invocation. This constructor is slower as it uses reflection
Declaration
protected RequestMsg(MethodInfo method, Guid? instance)
Parameters
Type | Name | Description |
---|---|---|
System.Reflection.MethodInfo | method | |
System.Nullable<System.Guid> | instance |
Fields
m_ServerTransport
Declaration
[NonSerialized]
protected ServerTransport m_ServerTransport
Field Value
Type | Description |
---|---|
ServerTransport |
Properties
Contract
Returns contract type that this call belongs to. This property throws if actual specified type can not be found
Declaration
public Type Contract { get; }
Property Value
Type | Description |
---|---|
System.Type |
ContractSpec
Returns contract type spec that this call belongs to
Declaration
public TypeSpec ContractSpec { get; }
Property Value
Type | Description |
---|---|
TypeSpec |
Method
Gets a method specification to be invoked on the other side
Declaration
public MethodSpec Method { get; }
Property Value
Type | Description |
---|---|
MethodSpec |
MethodName
Gets a name of method to be invoked on the other side
Declaration
public string MethodName { get; }
Property Value
Type | Description |
---|---|
System.String |
OneWay
Indicates that no response is expected
Declaration
public bool OneWay { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
RemoteInstance
If server is stateful then this property contains remote instance ID
Declaration
public Guid? RemoteInstance { get; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
RequestID
Returns request ID for this instance. Every request is uniquely identified
Declaration
public override FID RequestID { get; }
Property Value
Type | Description |
---|---|
FID |
Overrides
ServerTransport
Returns transport that this request arrived through. Property is to be used only on server
Declaration
public ServerTransport ServerTransport { get; }
Property Value
Type | Description |
---|---|
ServerTransport |
Session
Session reference that can be used to pass session object that was already determined by transport (e.g. HttpServerTransport) into Glue server handler. This property is NOT transmitted/serialized over wire
Declaration
public ISession Session { get; set; }
Property Value
Type | Description |
---|---|
ISession |
Methods
__setServerTransport(ServerTransport)
Implementation-specific internal method not to be used by developers
Declaration
public void __setServerTransport(ServerTransport t)
Parameters
Type | Name | Description |
---|---|---|
ServerTransport | t |