Cleanup
This commit is contained in:
		
							parent
							
								
									641a7ea75d
								
							
						
					
					
						commit
						e10ddf9d2d
					
				@ -253,6 +253,8 @@ class Channel(contextlib.AbstractContextManager):
 | 
				
			|||||||
    # will never be smaller than this value.
 | 
					    # will never be smaller than this value.
 | 
				
			||||||
    WINDOW_FLEXIBILITY   = 4
 | 
					    WINDOW_FLEXIBILITY   = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SEQ_MODULUS = 0x10000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, outlet: ChannelOutletBase):
 | 
					    def __init__(self, outlet: ChannelOutletBase):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -387,7 +389,7 @@ class Channel(contextlib.AbstractContextManager):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                # TODO: Test sequence overflow
 | 
					                # TODO: Test sequence overflow
 | 
				
			||||||
                if envelope.sequence < self._next_rx_sequence:
 | 
					                if envelope.sequence < self._next_rx_sequence:
 | 
				
			||||||
                    window_overflow = (self._next_rx_sequence+Channel.WINDOW_MAX) % 0x10000
 | 
					                    window_overflow = (self._next_rx_sequence+Channel.WINDOW_MAX) % Channel.SEQ_MODULUS
 | 
				
			||||||
                    if window_overflow < self._next_rx_sequence:
 | 
					                    if window_overflow < self._next_rx_sequence:
 | 
				
			||||||
                        if envelope.sequence > window_overflow:
 | 
					                        if envelope.sequence > window_overflow:
 | 
				
			||||||
                            RNS.log("Invalid packet sequence ("+str(envelope.sequence)+") received on channel "+str(self), RNS.LOG_DEBUG)
 | 
					                            RNS.log("Invalid packet sequence ("+str(envelope.sequence)+") received on channel "+str(self), RNS.LOG_DEBUG)
 | 
				
			||||||
@ -408,7 +410,10 @@ class Channel(contextlib.AbstractContextManager):
 | 
				
			|||||||
                    for e in self._rx_ring:
 | 
					                    for e in self._rx_ring:
 | 
				
			||||||
                        if e.sequence == self._next_rx_sequence:
 | 
					                        if e.sequence == self._next_rx_sequence:
 | 
				
			||||||
                            contigous.append(e)
 | 
					                            contigous.append(e)
 | 
				
			||||||
                            self._next_rx_sequence = (self._next_rx_sequence + 1) % 0x10000
 | 
					                            self._next_rx_sequence = (self._next_rx_sequence + 1) % Channel.SEQ_MODULUS
 | 
				
			||||||
 | 
					                            # TODO: Remove
 | 
				
			||||||
 | 
					                            if self._next_rx_sequence == 0:
 | 
				
			||||||
 | 
					                                RNS.log("SEQ OVERFLOW")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    for e in contigous:
 | 
					                    for e in contigous:
 | 
				
			||||||
                        m = e.unpack(self._message_factories)
 | 
					                        m = e.unpack(self._message_factories)
 | 
				
			||||||
@ -521,7 +526,7 @@ class Channel(contextlib.AbstractContextManager):
 | 
				
			|||||||
            if not self.is_ready_to_send():
 | 
					            if not self.is_ready_to_send():
 | 
				
			||||||
                raise ChannelException(CEType.ME_LINK_NOT_READY, f"Link is not ready")
 | 
					                raise ChannelException(CEType.ME_LINK_NOT_READY, f"Link is not ready")
 | 
				
			||||||
            envelope = Envelope(self._outlet, message=message, sequence=self._next_sequence)
 | 
					            envelope = Envelope(self._outlet, message=message, sequence=self._next_sequence)
 | 
				
			||||||
            self._next_sequence = (self._next_sequence + 1) % 0x10000
 | 
					            self._next_sequence = (self._next_sequence + 1) % Channel.SEQ_MODULUS
 | 
				
			||||||
            self._emplace_envelope(envelope, self._tx_ring)
 | 
					            self._emplace_envelope(envelope, self._tx_ring)
 | 
				
			||||||
        if envelope is None:
 | 
					        if envelope is None:
 | 
				
			||||||
            raise BlockingIOError()
 | 
					            raise BlockingIOError()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user