ovs-ofctl: Clarify in_port in manpage.
[openvswitch] / python / ovs / jsonrpc.py
index 975d40f7128ecfaf85b148e406a1cdc9b8784536..5117944137e7ac15661c1ff4789f27c07c2c5cd3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Nicira Networks
+# Copyright (c) 2010, 2011 Nicira Networks
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@ import errno
 import logging
 import os
 
+import ovs.json
 import ovs.poller
 import ovs.reconnect
 import ovs.stream
@@ -33,10 +34,9 @@ class Message(object):
                T_NOTIFY: "notification",
                T_REPLY: "reply",
                T_ERROR: "error"}
-    __next_id = 0
 
-    def __init__(self, type, method, params, result, error, id):
-        self.type = type
+    def __init__(self, type_, method, params, result, error, id):
+        self.type = type_
         self.method = method
         self.params = params
         self.result = result
@@ -69,11 +69,10 @@ class Message(object):
         return Message(Message.T_ERROR, None, None, None, error, id)
 
     @staticmethod
-    def type_to_string(type):
-        return Message.__types[type]
+    def type_to_string(type_):
+        return Message.__types[type_]
 
-    @staticmethod
-    def __validate_arg(value, name, must_have):
+    def __validate_arg(self, value, name, must_have):
         if (value is not None) == (must_have != 0):
             return None
         else:
@@ -96,11 +95,11 @@ class Message(object):
             return "invalid JSON-RPC message type %s" % self.type
 
         return (
-            Message.__validate_arg(self.method, "method", pattern & 0x10000) or
-            Message.__validate_arg(self.params, "params", pattern & 0x1000) or
-            Message.__validate_arg(self.result, "result", pattern & 0x100) or
-            Message.__validate_arg(self.error, "error", pattern & 0x10) or
-            Message.__validate_arg(self.id, "id", pattern & 0x1))
+            self.__validate_arg(self.method, "method", pattern & 0x10000) or
+            self.__validate_arg(self.params, "params", pattern & 0x1000) or
+            self.__validate_arg(self.result, "result", pattern & 0x100) or
+            self.__validate_arg(self.error, "error", pattern & 0x10) or
+            self.__validate_arg(self.id, "id", pattern & 0x1))
 
     @staticmethod
     def from_json(json):
@@ -174,7 +173,7 @@ class Message(object):
 
 class Connection(object):
     def __init__(self, stream):
-        self.name = stream.get_name()
+        self.name = stream.name
         self.stream = stream
         self.status = 0
         self.input = ""
@@ -215,9 +214,6 @@ class Connection(object):
         else:
             return len(self.output)
 
-    def get_name(self):
-        return self.name
-
     def __log_msg(self, title, msg):
         logging.debug("%s: %s %s" % (self.name, title, msg))
 
@@ -252,7 +248,7 @@ class Connection(object):
             return self.status, None
 
         while True:
-            if len(self.input) == 0:
+            if not self.input:
                 error, data = self.stream.recv(4096)
                 if error:
                     if error == errno.EAGAIN:
@@ -263,7 +259,7 @@ class Connection(object):
                                         % (self.name, os.strerror(error)))
                         self.error(error)
                         return self.status, None
-                elif len(data) == 0:
+                elif not data:
                     self.error(EOF)
                     return EOF, None
                 else:
@@ -324,7 +320,7 @@ class Connection(object):
         return msg
         
     def recv_wait(self, poller):
-        if self.status or len(self.input) > 0:
+        if self.status or self.input:
             poller.immediate_wake()
         else:
             self.stream.recv_wait(poller)
@@ -363,7 +359,7 @@ class Session(object):
         reconnect.enable(ovs.timeval.msec())
 
         if ovs.stream.PassiveStream.is_valid_name(name):
-            self.reconnect.set_passive(True, ovs.timeval.msec())
+            reconnect.set_passive(True, ovs.timeval.msec())
 
         return Session(reconnect, None)
 
@@ -371,7 +367,7 @@ class Session(object):
     def open_unreliably(jsonrpc):
         reconnect = ovs.reconnect.Reconnect(ovs.timeval.msec())
         reconnect.set_quiet(True)
-        reconnect.set_name(jsonrpc.get_name())
+        reconnect.set_name(jsonrpc.name)
         reconnect.set_max_tries(0)
         reconnect.connected(ovs.timeval.msec())
         return Session(reconnect, jsonrpc)