/*
* @(#)InactiveReceiveStreamEvent.java 1.6 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media.rtp.event;
import javax.media.rtp.*;
/**
* Informs the SessionListener that data & control packets have stopped
* arriving on this ReceiveStream. The time for which the RTPSM waits
* for data & control packets before notifying the listeners of this event is
* approximately equal to the RTCP report interval as specified in the
* RTP draft.
* InactiveRecvStreamEvent will also be generated to say the passive
* receivers that have timed out. The timeout used for this is the 5 times
* the report interval as per the draft and is measured for RTCP
* packets for RTCP packets from this passive receiver. In the case of
* a passive receiver, the ReceiveStream will be null.
* If data or control is resumed from this member, an
* ActiveRecvStreamEvent will be generated.
* In case of the RTP draft, a member is to be timed out if an RTP/RTCP
* packet is not received in the timeout time. In our implementation, the
* InactiveRecvStreamEvent is sent, but the member is not removed from
* our cache until a much larger timeout (set to 30 min).At this time,
* a TimeOutEvent is sent to the ReceiveStreamListener.This is done in
* order to take care of inactivity due to network partitions.
*/
public class InactiveReceiveStreamEvent extends ReceiveStreamEvent{
/**
* Set to true if this is the last or only RTPStream owned by this
* participant
*/
private boolean laststream;
public InactiveReceiveStreamEvent(SessionManager from,
Participant participant,
ReceiveStream recvStream,
boolean laststream){
super(from, recvStream, participant);
this.laststream = laststream;
}
/**
* Set to true if this is the last or only RTPStream owned by this
* participant.
*/
public boolean isLastStream(){
return laststream;
}
}
|