com.zeroc.IceInternal.ThreadObserverI Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice Show documentation
Show all versions of ice Show documentation
Ice is a comprehensive RPC framework that helps you build distributed applications with minimal effort using familiar object-oriented idioms
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
package com.zeroc.IceInternal;
public class ThreadObserverI
extends com.zeroc.IceMX.ObserverWithDelegate
implements com.zeroc.Ice.Instrumentation.ThreadObserver
{
@Override
public void stateChanged(final com.zeroc.Ice.Instrumentation.ThreadState oldState,
final com.zeroc.Ice.Instrumentation.ThreadState newState)
{
_oldState = oldState;
_newState = newState;
forEach(_threadStateUpdate);
if(_delegate != null)
{
_delegate.stateChanged(oldState, newState);
}
}
private com.zeroc.IceMX.Observer.MetricsUpdate _threadStateUpdate =
new com.zeroc.IceMX.Observer.MetricsUpdate()
{
@Override
public void update(com.zeroc.IceMX.ThreadMetrics v)
{
switch(_oldState)
{
case ThreadStateInUseForIO:
--v.inUseForIO;
break;
case ThreadStateInUseForUser:
--v.inUseForUser;
break;
case ThreadStateInUseForOther:
--v.inUseForOther;
break;
default:
break;
}
switch(_newState)
{
case ThreadStateInUseForIO:
++v.inUseForIO;
break;
case ThreadStateInUseForUser:
++v.inUseForUser;
break;
case ThreadStateInUseForOther:
++v.inUseForOther;
break;
default:
break;
}
}
};
private com.zeroc.Ice.Instrumentation.ThreadState _oldState;
private com.zeroc.Ice.Instrumentation.ThreadState _newState;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy