split scripts

This commit is contained in:
DieMyst 2020-12-07 14:31:02 +03:00
parent 79ef5c9516
commit fe55eb869c
3 changed files with 58 additions and 15 deletions

View File

@ -3,15 +3,26 @@ module AirScripts.GetAll exposing (..)
import Air exposing (Air, callBI, fold, next, par, relayEvent, seq, set)
import Json.Encode exposing (list, string)
askRelayScript : Air
askRelayScript =
askRelaySchema : Air
askRelaySchema =
(seq
(callBI "relayId" ( "op", "identity" ) [] Nothing)
(askAllAndSend "relayId")
)
askPeersScript : Air
askPeersScript =
askRelayScript : String -> String -> Air
askRelayScript peerId relayId =
let
clientIdSet =
set "clientId" <| string peerId
relayIdSet =
set "relayId" <| string relayId
in
clientIdSet <| relayIdSet <| askRelaySchema
askPeersSchema : Air
askPeersSchema =
(fold "knownPeers" "p" <|
par
(seq
@ -21,8 +32,22 @@ askPeersScript =
(next "p")
)
findAndAskNeighbours : Air
findAndAskNeighbours =
askPeersScript : String -> String -> List String -> Air
askPeersScript peerId relayId peers =
let
clientIdSet =
set "clientId" <| string peerId
relayIdSet =
set "relayId" <| string relayId
peersSet =
set "knownPeers" <| list string peers
in
clientIdSet <| relayIdSet <| peersSet <| askPeersSchema
findAndAskNeighboursSchema : Air
findAndAskNeighboursSchema =
seq
(callBI "relayId" ( "op", "identity" ) [] Nothing)
(seq
@ -40,6 +65,17 @@ findAndAskNeighbours =
(next "n")
))
findAndAskNeighboursScript : String -> String ->Air
findAndAskNeighboursScript peerId relayId =
let
clientIdSet =
set "clientId" <| string peerId
relayIdSet =
set "relayId" <| string relayId
in
clientIdSet <| relayIdSet <| findAndAskNeighboursSchema
air : String -> String -> List String -> Air
air peerId relayId peers =
let
@ -54,17 +90,17 @@ air peerId relayId peers =
askRelay = (\innerAir ->
par
askRelayScript
askRelaySchema
innerAir
)
askPeers = (\innerAir ->
par
askPeersScript
askPeersSchema
innerAir
)
in
clientIdSet <| relayIdSet <| peersSet <| (askRelay <| askPeers <| findAndAskNeighbours)
clientIdSet <| relayIdSet <| peersSet <| (askRelay <| askPeers <| findAndAskNeighboursSchema)
askAllAndSend : String -> Air
askAllAndSend var =

View File

@ -48,18 +48,25 @@ routeView model route =
Module moduleName ->
ModulePage.view model moduleName
getAllCmd : String -> String -> List String -> Cmd msg
getAllCmd peerId relayId knownPeers =
Cmd.batch
[ sendAir (GetAll.askRelayScript peerId relayId)
, sendAir (GetAll.askPeersScript peerId relayId knownPeers)
, sendAir (GetAll.findAndAskNeighboursScript peerId relayId)
]
routeCommand : Model -> Route -> Cmd msg
routeCommand m r =
case r of
Page _ ->
sendAir (GetAll.air m.peerId m.relayId m.knownPeers)
getAllCmd m.peerId m.relayId m.knownPeers
Peer _ ->
sendAir (GetAll.air m.peerId m.relayId m.knownPeers)
getAllCmd m.peerId m.relayId m.knownPeers
Blueprint _ ->
sendAir (GetAll.air m.peerId m.relayId m.knownPeers)
getAllCmd m.peerId m.relayId m.knownPeers
Module _ ->
sendAir (GetAll.air m.peerId m.relayId m.knownPeers)
getAllCmd m.peerId m.relayId m.knownPeers

View File

@ -27,7 +27,7 @@ import Modules.Model exposing (Module)
import Msg exposing (..)
import Nodes.Model exposing (Identify)
import Port exposing (sendAir)
import Route
import Route exposing (getAllCmd)
import Service.Model exposing (Service)
import Url
@ -74,7 +74,7 @@ update msg model =
|> List.filter (\( _, data ) -> List.isEmpty data.identify.external_addresses)
|> List.map Tuple.first
in
( { model | discoveredPeers = updatedDict }, sendAir (AirScripts.GetAll.air model.peerId model.relayId emptyPeers) )
( { model | discoveredPeers = updatedDict }, getAllCmd model.peerId model.relayId [] )
"all_info" ->
let