theLink 10.0
Loading...
Searching...
No Matches
csmqmsgque.MqFactoryC Class Reference

MqFactoryC - the class known as fct or factory is used to provide an interface to create one or more new MqContextCMore...

+ Inheritance diagram for csmqmsgque.MqFactoryC:
+ Collaboration diagram for csmqmsgque.MqFactoryC:

Public Member Functions

new MqFactoryC Next ()
  C#: MqFactoryC fct.Next() C-API
get next instance from linked-list of MqFactoryS type
 
new MqFactoryC Prev ()
  C#: MqFactoryC fct.Prev() C-API
get previous instance from linked-list of MqFactoryS type
 
string GetOriginalIdent ()
  C#: string fct.GetOriginalIdent() C-API
helper function to return MqFactoryS.originalIdent
 
MqFactoryC Default ()
  C#: MqFactoryC fct.Default() C-API
set the default-attribute to the factory
 
MqFactoryC Initial ()
  C#: MqFactoryC fct.Initial() C-API
set the initial-attribut to fct
 
MqContextC New ()
  C#: MqContextC fct.New() C-API
create a new MqContextC from a MqFactoryC
 
MqFactoryC Dup2 (string ident)
  C#: [constructor] MqFactoryC fct.Dup2(string ident) C-API
create a duplicate of the singleton object MqFactoryC using a new factory-identifer
 
 MqFactoryC (Type constructor, string ident=null)
 CONSTRUCTOR.
 
- Public Member Functions inherited from csmkkernel::MkObjectC
delegate void MkObjectDeleteSCB (string typeName, int typeHdl, int objHdl)
 
void ErrorCheck (MkErrorE err)
 
bool Check ()
 
string ToNameOfClass ()
 
void HandleDelete ()
 
bool HandleExists ()
 
Int32 HandleGet ()
 
Int32 HandleGetOfType ()
 
Int32 HandleGetOr0 ()
 
MkObjectC Next ()
 
MkObjectC Prev ()
 
void DbgDump (string message="var",[CallerMemberName]string callfunc=null)
 
void DbgL (string message, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
void DbgLogC ([CallerMemberName]string callfunc=null)
 
void DbgO ([CallerMemberName]string callfunc=null)
 
void DbgSTACK (int skip=0, int num=-1,[CallerMemberName]string callfunc=null)
 
void LogC (string message, int debug=0,[CallerMemberName]string callfunc=null)
 
void LogHEX (string callfunc, byte[] data)
 
void Log (MkObjectC fmtobj=null, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
void LogLong (MkObjectC fmtobj=null, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
void LogShort (MkObjectC fmtobj=null, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
void LogType (MkObjectC fmtobj=null, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
MkErrorC ErrorCatch (Exception exception=null,[CallerMemberName]string callfunc=null)
 
MkErrorC ToError ()
 
bool IsNull ()
 
string ToName ()
 
string ToNameOfType ()
 
override string ToString ()
 
int RefGet ()
 
void SysKill (int pid, int signal)
 
int SysGetPid ()
 
void Dispose ()
 
void Delete ()
 

Static Public Member Functions

static MqFactoryC MqFactoryC_ObjNew (IntPtr hdl)
 
new static MqFactoryC HandleResolve (Int32 netHdl)
  C#: [static] MqFactoryC MqFactoryC.HandleResolve(Int32 netHdl) C-API
Handle-Resolve-Slot - return a MqFactoryC from netHdl or null if invalid…
 
new static MqFactoryC Instances ()
  C#: [static] MqFactoryC MqFactoryC.Instances() C-API
get head-instance from linked-list of MqFactoryS type …
 
new static MqFactoryC GetNull ()
  C#: [static] MqFactoryC MqFactoryC.GetNull() C-API
Null-Slot - return a MqFactoryC typed NULL instance …
 
static MqFactoryC Get (string ident="")
  C#: [static] MqFactoryC MqFactoryC.Get(string ident = "") C-API
return the MqFactoryC
 
static MqFactoryC GetCalled (string ident="")
  C#: [static] MqFactoryC MqFactoryC.GetCalled(string ident = "") C-API
returns the MqFactoryC identified by ident
 
static MqFactoryC GetCalled (MkBufferListC largs)
  C#: [static] MqFactoryC MqFactoryC.GetCalled(MkBufferListC largs) C-API
returns the MqFactoryC identified as first argument in the largs MkBufferListC
 
static string DefaultIdent ()
  C#: [static] string MqFactoryC.DefaultIdent() C-API
return the factory-identifier of the default MqFactoryC
 
static string InitialIdent ()
  C#: [static] string MqFactoryC.InitialIdent() C-API
return the factory-identifier of the initial MqFactoryC
 
static void LogAll ([CallerMemberName]string callfunc=null)
  C#: [static] MqFactoryC.LogAll([CallerMemberName]string callfunc = null) C-API
log all "factories" to stderr
 
static MqFactoryC Add (Type constructor, string ident=null)
  C#: [constructor,static] MqFactoryC MqFactoryC.Add(Type constructor, string ident = null) C-API
Add a new MqFactoryC identified by factory-identifier and defined by factory-constructor
 
- Static Public Member Functions inherited from csmkkernel::MkObjectC
static MkObjectC MkObjectC_ObjNew (IntPtr hdl)
 
static IntPtr getOBJ (string cls, MkObjectC obj)
 
static IntPtr getOBJ_null_allow (MkObjectC obj)
 
static MkObjectC HandleResolve (Int32 netHdl)
 
static void HandleDeleteByNetHdl (Int32 netHdl)
 
static MkObjectC Instances ()
 
static MkObjectC GetNull ()
 
static void DbgM (string message, int debug=0,[CallerMemberName]string callfunc=null, int lvl=0)
 
static int SysHashI32 (string key, int length=-1)
 
static string SysHashSTR (string key, int length=-1)
 
static void DeleteCallbackCleanup (string ident)
 
static void DeleteCallbackSetup (string ident, MkObjectDeleteSCB callback=null, string filter=null)
 
static int getPId ()
 
static int getTId ()
 
static string getStackTrace (int level=2)
 
static string getCallerProc (int level=2)
 
static int getCallerLine (int level=2)
 
static string getCallerFile (int level=2)
 

Static Protected Member Functions

static IntPtr CTOR (Type constructor, string ident=null)
  C#: [constructor,static] MqFactoryC MqFactoryC.Add(Type constructor, string ident = null) C-API
Add a new MqFactoryC identified by factory-identifier and defined by factory-constructor
 
- Static Protected Member Functions inherited from csmkkernel::MkObjectC
static object atomObjNew (Type type, ConstructorInfo ctor, IntPtr obj)
 
static object atomObjCreate (Type type, ConstructorInfo ctor, IntPtr obj)
 
static IntPtr atomSelfCreate (ConstructorInfo ctor, IntPtr obj, IntPtr env)
 
static object atomSelfNull (ConstructorInfo ctor)
 
static void atomSelfUnlink (IntPtr self, IntPtr env)
 
static ConstructorInfo getCtor (Type type)
 
static string Name (IntPtr mkrt, IntPtr obj)
 

Additional Inherited Members

- Protected Member Functions inherited from csmkkernel::MkObjectC
 MkObjectC (IntPtr obj)
 
 MkObjectC ()
 
virtual void Dispose (bool disposing)
 
- Protected Attributes inherited from csmkkernel::MkObjectC
IntPtr pmkrt
 
- Properties inherited from csmkkernel::MkObjectC
IntPtr hdl
 
IntPtr hdl_null_allow
 
IntPtr mkrt
 

Detailed Description

MqFactoryC - the class known as fct or factory is used to provide an interface to create one or more new MqContextC

The factory is an important part of the object management and has the following basic features:

  1. create/delete a MqContextC defined by a MqFactoryC
  2. infrastructure to host multiple MqFactoryC in a single executable
  3. provide an identifier used for factory-lookup and as an unique-application-name
  4. identification of a client and a server in an application-link

Without a factory only the pipe-feature without the child-feature is guaranteed to work. Other features may work, this depends of the "flexibility" of the programming-language.

The link between the MqFactoryS-identifier and the MqFactoryC is important for the future development of csmqmsgque. Message-Routing, Service-Location and Persistent-Transactions depend on this feature.

The relationship between the MqFactoryC and the MqContextC is the same as the relationship between a type (MqFactoryS) and an object (MqContextS) of a regular programming language. The MqFactoryC define the type of the server and the MqContextC define a single object of the server process or thread.

                                     Application
|-------------------------------------------------------------------------------------|
|--------------- physical host 1 -----------------------|------ physical host 2 ------|
|-------- process-1 --------|-------- process-2 --------|-- process-3 --|---- … ------|
 thread-1     thread-2…      thread-1…     thread-2…      thread-1…       thread-…
  factory-A     factory-X     factory-Y…    factory-Z…
   object-1     object-1   object-…    …
   object-2     object-2   …
   object-3     object-3
   …              …

A server has a single MqFactoryC object per thread or process but multiple MqFactoryC objects per application. Decreasing the size and the complexity of a MqContextC object will improve the server performance. In future more fields, defined in the MqSetupS attribute of the the MqContextC object, will move into MqFactoryC object.

Definition at line 324 of file MqFactoryC.cs.

Member Function Documentation

◆ MqFactoryC_ObjNew()

static MqFactoryC csmqmsgque.MqFactoryC.MqFactoryC_ObjNew ( IntPtr hdl)
inlinestatic

Definition at line 40 of file MqFactoryC.cs.

40 {
41 return hdl != IntPtr.Zero ? (MqFactoryC) atomObjNew(typeof(MqFactoryC), ctor, hdl) : MK_NULL.Value;
42 }
static object atomObjNew(Type type, ConstructorInfo ctor, IntPtr obj)
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: