Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
opcua-asyncio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nikola Balog
opcua-asyncio
Commits
3fb2329b
Commit
3fb2329b
authored
May 03, 2019
by
cbergmiller
Committed by
GitHub
May 03, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #46 from FreeOpcUa/fix_18
Fix for issue #18
parents
0dd6b140
ce22240c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
5 deletions
+20
-5
asyncua/client/client.py
asyncua/client/client.py
+0
-1
asyncua/client/ua_client.py
asyncua/client/ua_client.py
+20
-4
No files found.
asyncua/client/client.py
View file @
3fb2329b
...
...
@@ -31,7 +31,6 @@ class Client:
def
__init__
(
self
,
url
:
str
,
timeout
:
int
=
4
,
loop
=
None
):
"""
:param url: url of the server.
if you are unsure of url, write at least hostname
and port and call get_endpoints
...
...
asyncua/client/ua_client.py
View file @
3fb2329b
...
...
@@ -21,6 +21,11 @@ class UASocketProtocol(asyncio.Protocol):
CLOSED
=
'closed'
def
__init__
(
self
,
timeout
=
1
,
security_policy
=
ua
.
SecurityPolicy
(),
loop
=
None
):
"""
:param timeout: Timeout in seconds
:param security_policy: Security policy (optional)
:param loop: Event loop (optional)
"""
self
.
logger
=
logging
.
getLogger
(
f"
{
__name__
}
.UASocketProtocol"
)
self
.
loop
=
loop
or
asyncio
.
get_event_loop
()
self
.
transport
=
None
...
...
@@ -92,11 +97,14 @@ class UASocketProtocol(asyncio.Protocol):
else
:
raise
ua
.
UaError
(
f"Unsupported message type:
{
msg
}
"
)
def
_send_request
(
self
,
request
,
timeout
=
1
000
,
message_type
=
ua
.
MessageType
.
SecureMessage
)
->
asyncio
.
Future
:
def
_send_request
(
self
,
request
,
timeout
=
1
,
message_type
=
ua
.
MessageType
.
SecureMessage
)
->
asyncio
.
Future
:
"""
Send request to server, lower-level method.
Timeout is the timeout written in ua header.
Returns future
:param request: Request
:param timeout: Timeout in seconds
:param message_type: UA Message Type (optional)
:return: Future that resolves with the Response
"""
request
.
RequestHeader
=
self
.
_create_request_header
(
timeout
)
self
.
logger
.
debug
(
'Sending: %s'
,
request
)
...
...
@@ -145,12 +153,16 @@ class UASocketProtocol(asyncio.Protocol):
)
future
.
set_result
(
body
)
def
_create_request_header
(
self
,
timeout
=
1000
):
def
_create_request_header
(
self
,
timeout
=
1
)
->
ua
.
RequestHeader
:
"""
:param timeout: Timeout in seconds
:return: Request header
"""
hdr
=
ua
.
RequestHeader
()
hdr
.
AuthenticationToken
=
self
.
authentication_token
self
.
_request_handle
+=
1
hdr
.
RequestHandle
=
self
.
_request_handle
hdr
.
TimeoutHint
=
timeout
hdr
.
TimeoutHint
=
timeout
*
1000
return
hdr
def
disconnect_socket
(
self
):
...
...
@@ -213,6 +225,10 @@ class UaClient:
"""
def
__init__
(
self
,
timeout
=
1
,
loop
=
None
):
"""
:param timeout: Timout in seconds
:param loop: Event loop (optional)
"""
self
.
logger
=
logging
.
getLogger
(
f'
{
__name__
}
.UaClient'
)
self
.
loop
=
loop
or
asyncio
.
get_event_loop
()
self
.
_publish_callbacks
=
{}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment