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
c4425c23
Commit
c4425c23
authored
Oct 30, 2015
by
olivier R-D
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add missing locking in binary_client
parent
62ae7114
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
15 deletions
+16
-15
opcua/binary_client.py
opcua/binary_client.py
+16
-15
No files found.
opcua/binary_client.py
View file @
c4425c23
...
...
@@ -207,18 +207,18 @@ class UASocketClient(object):
def
open_secure_channel
(
self
,
params
):
self
.
logger
.
info
(
"open_secure_channel"
)
request
=
ua
.
OpenSecureChannelRequest
()
request
.
Parameters
=
params
request
.
RequestHeader
=
self
.
_create_request_header
()
with
self
.
_lock
:
request
=
ua
.
OpenSecureChannelRequest
()
request
.
Parameters
=
params
request
.
RequestHeader
=
self
.
_create_request_header
()
hdr
=
ua
.
Header
(
ua
.
MessageType
.
SecureOpen
,
ua
.
ChunkType
.
Single
,
self
.
_security_token
.
ChannelId
)
asymhdr
=
ua
.
AsymmetricAlgorithmHeader
()
seqhdr
=
self
.
_create_sequence_header
()
hdr
=
ua
.
Header
(
ua
.
MessageType
.
SecureOpen
,
ua
.
ChunkType
.
Single
,
self
.
_security_token
.
ChannelId
)
asymhdr
=
ua
.
AsymmetricAlgorithmHeader
()
seqhdr
=
self
.
_create_sequence_header
()
future
=
Future
()
with
self
.
_lock
:
future
=
Future
()
self
.
_callbackmap
[
seqhdr
.
RequestId
]
=
future
self
.
_write_socket
(
hdr
,
asymhdr
,
seqhdr
,
request
)
self
.
_write_socket
(
hdr
,
asymhdr
,
seqhdr
,
request
)
response
=
ua
.
OpenSecureChannelResponse
.
from_binary
(
future
.
result
(
self
.
timeout
))
response
.
ResponseHeader
.
ServiceResult
.
check
()
...
...
@@ -231,13 +231,14 @@ class UASocketClient(object):
in most servers, so be prepare to reconnect
"""
self
.
logger
.
info
(
"get_endpoint"
)
request
=
ua
.
CloseSecureChannelRequest
()
request
.
RequestHeader
=
self
.
_create_request_header
()
with
self
.
_lock
:
request
=
ua
.
CloseSecureChannelRequest
()
request
.
RequestHeader
=
self
.
_create_request_header
()
hdr
=
ua
.
Header
(
ua
.
MessageType
.
SecureClose
,
ua
.
ChunkType
.
Single
,
self
.
_security_token
.
ChannelId
)
symhdr
=
self
.
_create_sym_algo_header
()
seqhdr
=
self
.
_create_sequence_header
()
self
.
_write_socket
(
hdr
,
symhdr
,
seqhdr
,
request
)
hdr
=
ua
.
Header
(
ua
.
MessageType
.
SecureClose
,
ua
.
ChunkType
.
Single
,
self
.
_security_token
.
ChannelId
)
symhdr
=
self
.
_create_sym_algo_header
()
seqhdr
=
self
.
_create_sequence_header
()
self
.
_write_socket
(
hdr
,
symhdr
,
seqhdr
,
request
)
# some servers send a response here, most do not ... so we ignore
...
...
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