@@ 135-165 (lines=31) @@ | ||
132 | return message_instance |
|
133 | ||
134 | ||
135 | def new_message_from_header(header): |
|
136 | """Given an OF Header, return an empty message of header's message_type. |
|
137 | ||
138 | Args: |
|
139 | header (:class:`~pyof.v0x04.common.header.Header`): |
|
140 | Unpacked OpenFlow Header. |
|
141 | ||
142 | Returns: |
|
143 | Empty OpenFlow message of the same type of message_type attribute from |
|
144 | the given header. |
|
145 | The header attribute of the message will be populated. |
|
146 | ||
147 | Raises: |
|
148 | KytosUndefinedMessageType: Unkown Message_Type. |
|
149 | ||
150 | """ |
|
151 | message_type = header.message_type |
|
152 | if not isinstance(message_type, Type): |
|
153 | try: |
|
154 | if isinstance(message_type, str): |
|
155 | message_type = Type[message_type] |
|
156 | elif isinstance(message_type, int): |
|
157 | message_type = Type(message_type) |
|
158 | except ValueError: |
|
159 | raise ValueError |
|
160 | ||
161 | message = new_message_from_message_type(message_type) |
|
162 | message.header.xid = header.xid |
|
163 | message.header.length = header.length |
|
164 | ||
165 | return message |
|
166 | ||
167 | ||
168 | def unpack_message(buffer): |
@@ 91-120 (lines=30) @@ | ||
88 | return message_instance |
|
89 | ||
90 | ||
91 | def new_message_from_header(header): |
|
92 | """Given an OF Header, return an empty message of header's message_type. |
|
93 | ||
94 | Args: |
|
95 | header (~pyof.v0x01.common.header.Header): Unpacked OpenFlow Header. |
|
96 | ||
97 | Returns: |
|
98 | Empty OpenFlow message of the same type of message_type attribute from |
|
99 | the given header. |
|
100 | The header attribute of the message will be populated. |
|
101 | ||
102 | Raises: |
|
103 | KytosUndefinedMessageType: Unkown Message_Type. |
|
104 | ||
105 | """ |
|
106 | message_type = header.message_type |
|
107 | if not isinstance(message_type, Type): |
|
108 | try: |
|
109 | if isinstance(message_type, str): |
|
110 | message_type = Type[message_type] |
|
111 | elif isinstance(message_type, int): |
|
112 | message_type = Type(message_type) |
|
113 | except ValueError: |
|
114 | raise ValueError |
|
115 | ||
116 | message = new_message_from_message_type(message_type) |
|
117 | message.header.xid = header.xid |
|
118 | message.header.length = header.length |
|
119 | ||
120 | return message |
|
121 | ||
122 | ||
123 | def unpack_message(buffer): |