MCPcopy Create free account
hub / github.com/ambianic/peerfetch / _setPnPServiceConnectionHandlers

Function _setPnPServiceConnectionHandlers

python/src/peerfetch/proxy.py:138–187  ·  view source on GitHub ↗
(peer=None)

Source from the content-addressed store, hash-verified

136 yaml.dump(cfg1, outfile)
137
138def _setPnPServiceConnectionHandlers(peer=None):
139 assert peer
140 global savedPeerId
141 @peer.on(PeerEventType.Open)
142 async def peer_open(id):
143 logger.info('Peer signaling connection open.')
144 global savedPeerId
145 # Workaround for peer.reconnect deleting previous id
146 if peer.id is None:
147 logger.info('pnpService: Received null id from peer open')
148 peer.id = savedPeerId
149 else:
150 if savedPeerId != peer.id:
151 logger.info(
152 'PNP Service returned new peerId. Old {}, New {}',
153 savedPeerId,
154 peer.id
155 )
156 _savePeerId(peer.id)
157 logger.info('savedPeerId: {}', peer.id)
158
159 @peer.on(PeerEventType.Disconnected)
160 async def peer_disconnected(peerId):
161 global savedPeerId
162 logger.info('Peer {} disconnected from server.', peerId)
163 # Workaround for peer.reconnect deleting previous id
164 if not peer.id:
165 logger.debug('BUG WORKAROUND: Peer lost ID. '
166 'Resetting to last known ID.')
167 peer._id = savedPeerId
168 peer._lastServerId = savedPeerId
169
170 @peer.on(PeerEventType.Close)
171 def peer_close():
172 # peerConnection = null
173 logger.info('Peer connection closed')
174
175 @peer.on(PeerEventType.Error)
176 def peer_error(err):
177 logger.exception('Peer error {}', err)
178 logger.warning('peerConnectionStatus {}', peerConnectionStatus)
179 # retry peer connection in a few seconds
180 # loop = asyncio.get_event_loop()
181 # loop.call_later(3, pnp_service_connect)
182
183 # remote peer tries to initiate connection
184 @peer.on(PeerEventType.Connection)
185 async def peer_connection(peerConnection):
186 logger.info('Remote peer trying to establish connection')
187 _setPeerConnectionHandlers(peerConnection)
188
189
190async def _fetch(url: str = None, method: str = 'GET', json: str = None, data = None) -> Any:

Callers 1

pnp_service_connectFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected