BigDipper Light: First Asynchronous Sample
This post is about the first asynchronous sample for Sharp SNMP Library.
Microsoft invents a series of patterns for .NET asynchronous API design. However, no every pattern meet all requirements. For #SNMP, currently the Begin/End pattern is still the most suitable as it can be used in extension methods.
Today I built the first sample for our asynchronous API and soon detected a few issues. Luckily the issues were resolved in our latest change set and below is the sample code,
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
28
29
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);
});
Console.Read();
}
}
}
© Lex Li. All rights reserved. The code included is licensed under CC BY 4.0 unless otherwise noted.
Advertisement