BigDipper Light: Updated Async Support
This post is about the updated async support in #SNMP.
Starting from our latest change set, you need to provide one more argument to BeginGetResponse. That was the missing piece, state object.
As state object is a requirement of Microsoft .NET asynchronous pattern, now I can announce that #SNMP fully supports it. :)
Below is the updated sample code, which simply passes null as state object.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Net;
using Lextm.SharpSnmpLib;
using Lextm.SharpSnmpLib.Messaging;
using Lextm.SharpSnmpLib.Security;
namespace TestAsyncGet
{
class Program
{
static void Main(string[] args)
{
GetRequestMessage message = new GetRequestMessage(0,
VersionCode.V1,
new OctetString("public"),
new List<Variable> {new Variable(new ObjectIdentifier("1.3.6.1.1.1.0"))});
var endpoint = new IPEndPoint(IPAddress.Loopback, 161);
message.BeginGetResponse(endpoint, new UserRegistry(),endpoint.GetSocket(),
ar => {
var response = message.EndGetResponse(ar);
Console.WriteLine(response);
}, null);
Console.Read();
}
}
}
© Lex Li. All rights reserved. The code included is licensed under CC BY 4.0 unless otherwise noted.
Advertisement