Browse Source

Merge pull request #106 from zixuanzh/protocol-mux-lint

Fixing linting errors in protocol_muxer and adding to Travis
magniff-feature/issue-104
Robert Zajac 6 years ago
committed by GitHub
parent
commit
ba8d2491d4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      .travis.yml
  2. 5
      protocol_muxer/multiselect.py
  3. 25
      protocol_muxer/multiselect_client.py

6
.travis.yml

@ -4,12 +4,14 @@ python:
- "3.6"
install:
- pip install --upgrade pip
- pip install -r requirements.txt
- pip install codecov pytest pytest-cov
- pip install "pytest>=3.6"
- pip install codecov pytest-cov pytest-asyncio pylint
script:
- pytest --cov=./ -v
- pylint --rcfile=.pylintrc encryption host libp2p network peer stream_muxer transport tests
- pylint --rcfile=.pylintrc encryption host libp2p network peer protocol_muxer stream_muxer transport tests
after_success:
- codecov

5
protocol_muxer/multiselect.py

@ -72,12 +72,13 @@ class Multiselect(IMultiselectMuxer):
handshake_contents = await communicator.read_stream_until_eof()
# Confirm that the protocols are the same
if not self.validate_handshake(handshake_contents):
if not validate_handshake(handshake_contents):
raise MultiselectError("multiselect protocol ID mismatch")
# Handshake succeeded if this point is reached
def validate_handshake(self, handshake_contents):
def validate_handshake(handshake_contents):
"""
Determine if handshake is valid and should be confirmed
:param handshake_contents: contents of handshake message

25
protocol_muxer/multiselect_client.py

@ -30,22 +30,11 @@ class MultiselectClient(IMultiselectClient):
handshake_contents = await communicator.read_stream_until_eof()
# Confirm that the protocols are the same
if not self.validate_handshake(handshake_contents):
if not validate_handshake(handshake_contents):
raise MultiselectClientError("multiselect protocol ID mismatch")
# Handshake succeeded if this point is reached
def validate_handshake(self, handshake_contents):
"""
Determine if handshake is valid and should be confirmed
:param handshake_contents: contents of handshake message
:return: true if handshake is complete, false otherwise
"""
# TODO: Modify this when format used by go repo for messages
# is added
return handshake_contents == MULTISELECT_PROTOCOL_ID
async def select_protocol_or_fail(self, protocol, stream):
"""
Send message to multiselect selecting protocol
@ -117,5 +106,17 @@ class MultiselectClient(IMultiselectClient):
else:
raise MultiselectClientError("unrecognized response: " + response)
def validate_handshake(handshake_contents):
"""
Determine if handshake is valid and should be confirmed
:param handshake_contents: contents of handshake message
:return: true if handshake is complete, false otherwise
"""
# TODO: Modify this when format used by go repo for messages
# is added
return handshake_contents == MULTISELECT_PROTOCOL_ID
class MultiselectClientError(ValueError):
"""Raised when an error occurs in protocol selection process"""

Loading…
Cancel
Save