internal Context(IParent parent, int number, string identifier, ChildrenRetrievalPolicy childrenRetrievalPolicy) { this.Parent = parent; this.Number = number; this.Identifier = identifier; this.ChildrenRetrievalPolicy = childrenRetrievalPolicy; }
internal Context(IParent parent, int number, string identifier, ChildrenRetrievalPolicy childrenRetrievalPolicy) { this.Parent = parent; this.Number = number; this.Identifier = identifier; this.ChildrenRetrievalPolicy = childrenRetrievalPolicy; }
private Consumer(S101Client client, int timeout, ChildrenRetrievalPolicy childrenRetrievalPolicy, byte slot) { this.root = Root <TRoot> .Construct(new Context(null, 0, string.Empty, childrenRetrievalPolicy)); this.client = client; this.childrenRetrievalTimeout = timeout; this.emberDataMessage = new S101Message(slot, EmberDataCommand); this.client.EmberDataReceived += this.receiveQueue.OnMessageReceived; this.client.ConnectionLost += this.receiveQueue.OnConnectionLost; }
public static async Task <Consumer <TRoot> > CreateAsync( S101Client client, int timeout, ChildrenRetrievalPolicy childrenRetrievalPolicy, byte slot) { if ((childrenRetrievalPolicy < ChildrenRetrievalPolicy.None) || (childrenRetrievalPolicy > ChildrenRetrievalPolicy.All)) { throw new ArgumentOutOfRangeException(nameof(childrenRetrievalPolicy)); } var result = new Consumer <TRoot>( client ?? throw new ArgumentNullException(nameof(client)), timeout, childrenRetrievalPolicy, slot); await result.RetrieveChildrenAsync(); result.SendReceiveLoop(); return(result); }
public static Task <Consumer <TRoot> > CreateAsync( S101Client client, int timeout, ChildrenRetrievalPolicy childrenRetrievalPolicy) { return(CreateAsync(client, timeout, childrenRetrievalPolicy, 0x00)); }