/// <summary> /// /// </summary> /// <param name="name">The name of this client module.</param> /// <param name="singleThreadOnly">Should the module be entered with single or multiple Arbiter threads.</param> public ArbiterClientBase(bool singleThreadOnly) { string name = UserFriendlyNameAttribute.GetTypeAttributeName(this.GetType()); // Make sure not to use the default struct parameterless constructor. _subscriptionClientId = new ArbiterClientId(name, this.GetType(), this); _messageFilter = new MessageFilter(true); _singleThreadOnly = singleThreadOnly; }
/// <summary> /// /// </summary> /// <param name="name">The name of this client module.</param> /// <param name="singleThreadOnly">Should the module be entered with single or multiple Arbiter threads.</param> public ArbiterClientBase(string idName, bool singleThreadOnly) { if (string.IsNullOrEmpty(idName)) {// Try to establish user friendly name, or if not available, use class name. idName = UserFriendlyNameAttribute.GetTypeAttributeName(this.GetType()); } _subscriptionClientId = new ArbiterClientId(idName, this.GetType(), this); _messageFilter = new MessageFilter(true); _singleThreadOnly = singleThreadOnly; }
/// <summary> /// Deserialization constructor. /// </summary> /// <param name="singleThreadOnly"></param> public ArbiterClientBase(SerializationInfo info, StreamingContext context) { _subscriptionClientId = (ArbiterClientId)info.GetValue("clientId", typeof(ArbiterClientId)); _messageFilter = (MessageFilter)info.GetValue("messageFilter", typeof(MessageFilter)); }