forked from goodboy/tractor
				
			Tolerate one decode error; may have been a registry ping
							parent
							
								
									ef75883b62
								
							
						
					
					
						commit
						135459ca25
					
				| 
						 | 
				
			
			@ -177,17 +177,19 @@ class MsgspecTCPStream(MsgpackTCPStream):
 | 
			
		|||
 | 
			
		||||
            log.transport(f"received {msg_bytes}")  # type: ignore
 | 
			
		||||
            try:
 | 
			
		||||
                assert not last_decode_failed
 | 
			
		||||
                yield self.decode(msg_bytes)
 | 
			
		||||
            except (
 | 
			
		||||
                msgspec.DecodingError,
 | 
			
		||||
                UnicodeDecodeError,
 | 
			
		||||
            ):
 | 
			
		||||
                # ignore decoding errors for now and assume they have to
 | 
			
		||||
                # do with a channel drop - hope that receiving from the
 | 
			
		||||
                # channel will raise an expected error and bubble up.
 | 
			
		||||
                log.error('`msgspec` failed to decode!?')
 | 
			
		||||
                last_decode_failed = True
 | 
			
		||||
                if not last_decode_failed:
 | 
			
		||||
                    # ignore decoding errors for now and assume they have to
 | 
			
		||||
                    # do with a channel drop - hope that receiving from the
 | 
			
		||||
                    # channel will raise an expected error and bubble up.
 | 
			
		||||
                    log.error('`msgspec` failed to decode!?')
 | 
			
		||||
                    last_decode_failed = True
 | 
			
		||||
                else:
 | 
			
		||||
                    raise
 | 
			
		||||
 | 
			
		||||
    async def send(self, data: Any) -> None:
 | 
			
		||||
        async with self._send_lock:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue