private static void setState( long flag, boolean on ) { long new_mode = current_mode; if ( on ){ new_mode |= flag; }else { new_mode &= ~flag; } setResourceMode( new_mode ); }
@Override public boolean isSleeping() { return( AERunStateHandler.isDHTSleeping()); }
private static final boolean isImmediate() { return( !AERunStateHandler.isDelayedUI()); }
AERunStateHandler.addListener( new AERunStateHandler.RunStateChangeListener()
long mode = AERunStateHandler.getResourceMode(); AERunStateHandler.setResourceMode( mode );
private static final class QueueEntry { public QueueEntry(PEPeerTransportProtocol trans) { transport = trans; } final PEPeerTransportProtocol transport; final long addTime = SystemTime.getMonotonousTime(); }
public static void setDHTSleeping( boolean b ) { setState( RS_DHT_SLEEPING, b ); }
@Override public void parameterChanged(Parameter param){ AERunStateHandler.setDHTSleeping( sleeping.getValue()); } });
@Override public void destroy() { if ( nat_puncher != null ){ nat_puncher.destroy(); } DHTNetworkPositionManager.destroy( storage_adapter ); AERunStateHandler.removeListener( this ); if ( control != null ){ control.destroy(); } if ( speed_tester != null ){ speed_tester.destroy(); } }
AERunStateHandler.addListener( this, true );
if ( AERunStateHandler.isUDPNetworkOnly()){
AERunStateHandler.addListener( new AERunStateHandler.RunStateChangeListener(){
AERunStateHandler.setResourceMode( AERunStateHandler.RS_ALL_ACTIVE );
@Override public void runStateChanged(long run_state){ sleeping.setValue( AERunStateHandler.isDHTSleeping()); } }, true );
@Override public void handleEvent(Event event) { if ( event.type == SWT.Activate ){ if ( AERunStateHandler.isDelayedUI()){ Debug.out( "Ignoring activate event as delay start" ); return; } } Shell as = Display.getDefault().getActiveShell(); if (as != null) { as.setVisible(true); as.forceActive(); return; } UIFunctionsSWT uif = UIFunctionsManagerSWT.getUIFunctionsSWT(); if (uif != null) { Shell mainShell = uif.getMainShell(); if (mainShell == null || !mainShell.isVisible() || mainShell.getMinimized()) { if ( !COConfigurationManager.getBooleanParameter( "Reduce Auto Activate Window" )){ uif.bringToFront(false); } } } } };
@Override public void runStateChanged( long run_state ) { synchronized( this ){ if ( AERunStateHandler.isDHTSleeping()){ if ( provider != null ){ DHTNetworkPositionManager.unregisterProvider( provider ); provider = null; } }else{ if ( provider == null ){ provider = new VivaldiPositionProvider(); DHTNetworkPositionManager.registerProvider( provider ); } } } } },
@Override public Map openTunnel() { if ( AERunStateHandler.isDHTSleeping() || Logger.isClosingTakingTooLong()){ return( null ); } DHTNATPuncher puncher = plugin.getDHT().getNATPuncher(); if ( puncher == null ){ return( null ); } return( puncher.punch( "Tunnel", contact, null, null )); }
if ( AERunStateHandler.isDHTSleeping()){
boolean is_sleeping = AERunStateHandler.isDHTSleeping();
public Map openTunnel( DHTPluginContact[] rendezvous, Map client_data ) { if ( AERunStateHandler.isDHTSleeping() || Logger.isClosingTakingTooLong()){ return( null ); } DHTNATPuncher puncher = plugin.getDHT().getNATPuncher(); if ( puncher == null ){ return( null ); } if ( rendezvous == null || rendezvous.length == 0 ){ return( puncher.punch( "Tunnel", contact, null, client_data )); }else{ DHTTransportContact[] r = new DHTTransportContact[rendezvous.length]; for ( int i=0;i<r.length;i++){ r[0] = ((DHTPluginContactImpl)rendezvous[i]).contact; } Map result = puncher.punch( "Tunnel", contact, r, client_data ); DHTTransportContact used = r[0]; if ( used != null ){ rendezvous[0] = new DHTPluginContactImpl( plugin, used ); } return( result ); } }