Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revision - SDL-0126 ATF support of additional transports (BT and USB) #11

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

aderiabin
Copy link

@aderiabin aderiabin commented Jul 9, 2021

Current revision of the proposal is improving and specifying the solution accepted in the original proposal.

Main idea of introduced solution is to develop specifically Android mobile application that would use HTTP connection with REST protocol for control communication with ATF using API and would use TCP connection for raw data transfering bettween ATF and SDL.

This approach would provide the following benefits:

  • simplify logic of mobile application
  • add possibility to control SDL connection separate from data communication with it
  • allow to avoid of creation application layer protocol for API implementation over raw TCP
  • TCP channel will be created only in case of successful connection to SDL using chosen transport and closed on disconnection from SDL
  • data communication through a separate TCP channel is faster and safer than using some RPCs

@aderiabin aderiabin force-pushed the revision/0126-atf-additional-transports branch from 277f496 to 8f780a2 Compare July 9, 2021 12:55
@AKalinich-Luxoft
Copy link

@aderiabin why did you remove the diagram? As I can see it is still used in the proposal. Probably you should provide an updated diagram?


ATF should be able to connect to multiple Mobile transport adapters and provide ability to use any of them to test engineer.

Test engineer should be able to to create sessions on provided by ATF mobile transport adapters.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Test engineer should be able to to create sessions on provided by ATF mobile transport adapters.
Test engineers should be able to create sessions on provided by ATF mobile transport adapters.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Updated (see 5716e7b)

- DisconnectFromSDL - Disconnects from SDL
- GetSDLConnectionStatus - Provides status of connection to SDL

It should provide host and port of TCP server for raw binary data communication with ATF on establishing successful connection to SDL.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin I believe you should clarify who is "it" and how it can provide this information to ATF

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create Android mobile application as a part of ATF infrastructure.

Mobile application should use HTTP connection with REST protocol for control communication with ATF using next API:
- GetDeviceInfo - Provides device's information

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin probably some details would be useful here for understanding what is a device info

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Details have been added. (see 5716e7b)

@dboltovskyi
Copy link

@AKalinich-Luxoft Regarding the comment:

why did you remove the diagram? As I can see it is still used in the proposal. Probably you should provide an updated diagram?

I'm able to see a new diagram if new version of proposal is opened by link https://github.com/LuxoftSDL/sdl_evolution/blob/8f780a2b5f652d4a5b675dcd6cb789a3b0452244/proposals/0126-atf-additional-transports.md

- DisconnectFromSDL - Disconnects from SDL
- GetSDLConnectionStatus - Provides status of connection to SDL

Mobile application should provide next information as main part of response to GetDeviceInfo request:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Mobile application should provide next information as main part of response to GetDeviceInfo request:
Mobile application should provide next information as main part of the response to `GetDeviceInfo` request:

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Updated (see ae31abb)

- GetSDLConnectionStatus - Provides status of connection to SDL

Mobile application should provide next information as main part of response to GetDeviceInfo request:
- Operating system

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin Why do we need OS info? I believe we would have unified script behavior for "Windows", "Android", "Linux", "LOLKEK"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft As far as I know the same type of transport (USB for example) has different handling on SDL side related of OS type of mobile side (AOA for Android for example). That is why script can request device with specific transport AND operating system to run test.


Mobile application should provide next information as main part of response to GetDeviceInfo request:
- Operating system
- MAC address

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin I believe MAC address also should be an array OR moved into an array of available transports like a sub param because each transport chipset of the device may have its own MAC address so it's not a unique characteristic of the phone itself. For example, you can use your phone name (Settings -> About -> Device name) if you need some unique attribute for sorting.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Agree. In additional to it, Android removes programmatic access to the device’s local hardware identifier (starting from Android 6.0). It would be work only for old devices.
doc

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft, @YaroslavLutsenko Parameter MAC address has been removed. Parameter Array of transport` has been extended by transport specific information
(see 36b2cdb)

Mobile application should provide next information as main part of response to GetDeviceInfo request:
- Operating system
- MAC address
- Array of transports available to connect to SDL

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin suggest describing in parenthesis what are the elements of the array are. Is that just a transport name or another structure? What should it contain?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft I have added such information. (see ae31abb)
But I think these are details of implementation and further adding of details to API lead to full API specification. I would like to leave it not specified in proposal.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Information related to implementation details has been removed. (see 36b2cdb)

- DisconnectFromSDL - Disconnects from SDL
- GetSDLConnectionStatus - Provides status of connection to SDL

Mobile application should provide next information as main part of response to GetDeviceInfo request:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin probably make sense to mention that all parameters are mandatory OR mention if some of them are optional

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dboltovskyi dboltovskyi changed the title Revision of proposal 0126-ATF-Additional-Transports Revision - SDL-0126 ATF support of additional transports (BT and USB) Oct 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants