1 package org.opendaylight.controller.sal.connector.remoterpc.utils;
3 import java.util.concurrent.ExecutorService;
4 import java.util.concurrent.Executors;
6 import org.opendaylight.controller.sal.connector.api.RpcRouter;
7 import org.opendaylight.controller.sal.connector.remoterpc.dto.Message;
8 import org.opendaylight.controller.sal.connector.remoterpc.util.XmlUtils;
9 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
10 import org.zeromq.ZMQ;
12 public class RemoteServerTestClient {
16 public static void main(String args[]) throws Exception{
17 String serverAddress = "tcp://10.195.128.108:5666";
18 ZMQ.Context ctx = ZMQ.context(1);
19 ExecutorService executor = Executors.newSingleThreadExecutor();
20 RemoteServerTestClient client = new RemoteServerTestClient();
22 MessagingUtil.sendAMessage(ctx, serverAddress, client.createPingMessage(serverAddress))
24 MessagingUtil.sendAMessage(ctx, serverAddress, client.createPingMessage(serverAddress));
27 MessagingUtil.closeZmqContext(ctx);
31 public Message createPingMessage(String serverAddress){
32 Message ping = new Message.MessageBuilder()
33 .type(Message.MessageType.PING)
34 .sender("localhost:5444")
35 .recipient(serverAddress)
40 public Message createAddFlowMessage(String serverAddress ){
42 RpcRouter.RouteIdentifier<?, ?, ?> routeIdentifier = getAddFlowRpcIdentifier();
44 Message addFlow = new Message.MessageBuilder()
45 .type(Message.MessageType.REQUEST)
46 .sender("localhost:5444")
47 .recipient(serverAddress)
48 .route(routeIdentifier)
49 .payload(getAddFlowPayload(1,1))
55 private RpcRouter.RouteIdentifier<?, ?, ?> getAddFlowRpcIdentifier(){
56 throw new UnsupportedOperationException();
59 private CompositeNode getAddFlowPayload(int flowId, int tableId){
61 "<flow xmlns=\"urn:opendaylight:flow:inventory\">"
62 + "<priority>5</priority>"
63 + "<flow-name>Foo</flow-name>"
70 + "<ipv4-destination>10.0.10.2/24</ipv4-destination>"
72 + "<id>" + flowId + "</id>"
73 + "<table_id>" + tableId + "</table_id>"
87 return XmlUtils.xmlToCompositeNode(xml);