The ManagerSlave class provides Manager communications that can be invoked in parallel, all running on unique worker threads.
Object Model
Syntax
Visual Basic (Declaration) | |
---|
Public Class ManagerSlave |
C# | |
---|
public class ManagerSlave |
Managed Extensions for C++ | |
---|
public __gc class ManagerSlave |
C++/CLI | |
---|
public ref class ManagerSlave |
Example
The following example demonstrates sending a Get request to an agent and receiving the response.
C# | Copy Code |
---|
private void button1_Click(object sender, EventArgs e)
{
//Create and send request on a worker thread
manager1.Start(manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact));
}
private void manager1_SendGetRequest(Dart.Snmp.ManagerSlave slave, object state)
{
//Create Get Request
GetMessage request = new GetMessage();
request.Community = "public";
request.Version = SnmpVersion.One;
request.Variables.Add(state as Variable);
//Send request and get response
ResponseMessage response = slave.GetResponse(request, myAgentAddress);
//Marshal message to the UI thread using the Message event
manager1.Marshal(new ResponseMessage[] { response }, null);
}
private void manager1_Message(object sender, Dart.Snmp.MessageEventArgs e)
{
//Display info about the first variable in the response, and its value
Variable var = e.Messages[0].Variables[0] as Variable;
label1.Text = var.Definition.ToString() + var.Value.ToString();
} |
Visual Basic | Copy Code |
---|
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
'Create and send request on a worker thread
manager1.Start(AddressOf manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact))
End Sub
Private Sub manager1_SendGetRequest(ByVal slave As Dart.Snmp.ManagerSlave, ByVal state As Object)
'Create Get Request
Dim request As GetMessage = New GetMessage()
request.Community = "public"
request.Version = SnmpVersion.One
request.Variables.Add(CType(IIf(TypeOf state Is Variable, state, Nothing), Variable))
'Send request and get response
Dim response As ResponseMessage = slave.GetResponse(request, myAgentAddress)
'Marshal message to the UI thread using the Message event
manager1.Marshal(New ResponseMessage() { response }, Nothing)
End Sub
Private Sub manager1_Message(ByVal sender As Object, ByVal e As Dart.Snmp.MessageEventArgs)
'Display info about the first variable in the response, and its value
Dim var As Variable = CType(IIf(TypeOf e.Messages(0).Variables(0) Is Variable, e.Messages(0).Variables(0), Nothing), Variable)
label1.Text = var.Definition.ToString() & var.Value.ToString()
End Sub |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 2.0
See Also