4 interfaces inheriting from ICommunicationObject
System.ServiceModel (4)
System\ServiceModel\Channels\IChannel.cs (1)
9public interface IChannel : ICommunicationObject
System\ServiceModel\Channels\IChannelAcceptor.cs (1)
6interface IChannelAcceptor<TChannel> : ICommunicationObject
System\ServiceModel\Channels\IChannelFactory.cs (1)
10public interface IChannelFactory : ICommunicationObject
System\ServiceModel\Channels\IChannelListener.cs (1)
9public interface IChannelListener : ICommunicationObject
8 implementations of ICommunicationObject
System.ServiceModel (6)
System\ServiceModel\Channels\CommunicationObject.cs (1)
14public abstract class CommunicationObject : ICommunicationObject
System\ServiceModel\ClientBase.cs (1)
19public abstract class ClientBase<TChannel> : ICommunicationObject, IDisposable
System\ServiceModel\Security\Tokens\IssuedSecurityTokenProvider.cs (1)
36public class IssuedSecurityTokenProvider : SecurityTokenProvider, ICommunicationObject
System\ServiceModel\Security\WrappedSessionSecurityTokenAuthenticator.cs (1)
31internal class WrappedSessionSecurityTokenAuthenticator : SecurityTokenAuthenticator, IIssuanceSecurityTokenAuthenticator, ICommunicationObject
System\ServiceModel\Security\WrapperSecurityCommunicationObject.cs (2)
112abstract class CommunicationObjectSecurityTokenProvider : SecurityTokenProvider, ICommunicationObject, ISecurityCommunicationObject 302abstract class CommunicationObjectSecurityTokenAuthenticator : SecurityTokenAuthenticator, ICommunicationObject, ISecurityCommunicationObject
System.ServiceModel.Discovery (2)
System\ServiceModel\Discovery\AnnouncementClient.cs (1)
19public sealed class AnnouncementClient : ICommunicationObject, IDisposable
System\ServiceModel\Discovery\DiscoveryClient.cs (1)
24public sealed class DiscoveryClient : ICommunicationObject, IDiscoveryInnerClientResponse, IDisposable
251 references to ICommunicationObject
System.ServiceModel (124)
System\ServiceModel\ChannelFactory.cs (4)
410ICommunicationObject communicationObject; 413public OpenAsyncResult(ICommunicationObject communicationObject, TimeSpan timeout, AsyncCallback callback, object state) 465ICommunicationObject communicationObject; 468public CloseAsyncResult(ICommunicationObject communicationObject, TimeSpan timeout, AsyncCallback callback, object state)
System\ServiceModel\Channels\ChainedAsyncResult.cs (8)
131IList<ICommunicationObject> collection; 133public ChainedCloseAsyncResult(TimeSpan timeout, AsyncCallback callback, object state, ChainedBeginHandler begin1, ChainedEndHandler end1, IList<ICommunicationObject> collection) 141public ChainedCloseAsyncResult(TimeSpan timeout, AsyncCallback callback, object state, ChainedBeginHandler begin1, ChainedEndHandler end1, params ICommunicationObject[] objs) 144collection = new List<ICommunicationObject>(); 166IList<ICommunicationObject> collection; 168public ChainedOpenAsyncResult(TimeSpan timeout, AsyncCallback callback, object state, ChainedBeginHandler begin1, ChainedEndHandler end1, IList<ICommunicationObject> collection) 176public ChainedOpenAsyncResult(TimeSpan timeout, AsyncCallback callback, object state, ChainedBeginHandler begin1, ChainedEndHandler end1, params ICommunicationObject[] objs) 179collection = new List<ICommunicationObject>();
System\ServiceModel\Channels\ChannelTracker.cs (2)
135List<ICommunicationObject> collection = new List<ICommunicationObject>();
System\ServiceModel\Channels\CloseCollectionAsyncResult.cs (5)
18public CloseCollectionAsyncResult(TimeSpan timeout, AsyncCallback otherCallback, object state, IList<ICommunicationObject> collection) 59void CompleteClose(ICommunicationObject communicationObject, IAsyncResult result) 118ICommunicationObject instance; 121public CallbackState(CloseCollectionAsyncResult result, ICommunicationObject instance) 127public ICommunicationObject Instance
System\ServiceModel\Channels\CommunicationObjectManager.cs (1)
12internal class CommunicationObjectManager<ItemType> : LifetimeManager where ItemType : class, ICommunicationObject
System\ServiceModel\Channels\ConnectionOrientedTransportChannelFactory.cs (2)
313ICommunicationObject communicationObject; 316public OpenAsyncResult(ICommunicationObject communicationObject, TimeSpan timeout, AsyncCallback callback, object state)
System\ServiceModel\Channels\HttpChannelListener.cs (7)
1000ICommunicationObject[] communicationObjects; 1001ICommunicationObject communicationObject = this.UserNameTokenAuthenticator as ICommunicationObject; 1008communicationObjects = new ICommunicationObject[] { this.Acceptor }; 1012communicationObjects = new ICommunicationObject[] { this.Acceptor, communicationObject }; 1410ICommunicationObject[] communicationObjects; 1415public LifetimeWrappedCloseAsyncResult(TimeSpan timeout, AsyncCallback callback, object state, CommunicationObjectManager<TCommunicationObject> communicationObjectManager, ChainedBeginHandler begin1, ChainedEndHandler end1, ICommunicationObject[] communicationObjects)
System\ServiceModel\Channels\LayeredChannelListener.cs (4)
190ICommunicationObject communicationObject; 193public OpenAsyncResult(ICommunicationObject communicationObject, bool sharedInnerListener, TimeSpan timeout, AsyncCallback callback, object state) 244ICommunicationObject communicationObject; 247public CloseAsyncResult(ICommunicationObject communicationObject, bool sharedInnerListener, TimeSpan timeout, AsyncCallback callback, object state)
System\ServiceModel\Channels\OneWayChannelListener.cs (4)
1130List<ICommunicationObject> objectsToClose = new List<ICommunicationObject>(); 1198List<ICommunicationObject> objectsToClose = new List<ICommunicationObject>();
System\ServiceModel\Channels\OpenCollectionAsyncResult.cs (4)
19public OpenCollectionAsyncResult(TimeSpan timeout, AsyncCallback otherCallback, object state, IList<ICommunicationObject> collection) 93ICommunicationObject instance; 96public CallbackState(OpenCollectionAsyncResult result, ICommunicationObject instance) 102public ICommunicationObject Instance
System\ServiceModel\Channels\ReliableChannelListener.cs (1)
649protected bool HandleException(Exception e, ICommunicationObject o)
System\ServiceModel\Channels\ServiceChannelFactory.cs (2)
277List<ICommunicationObject> objectList; 280objectList = new List<ICommunicationObject>();
System\ServiceModel\Channels\ServiceChannelProxy.cs (1)
308if (methodData.MethodBase.DeclaringType == typeof(System.ServiceModel.ICommunicationObject)
System\ServiceModel\ClientBase.cs (56)
488((ICommunicationObject)this).Open(GetChannelFactory().InternalOpenTimeout); 524((ICommunicationObject)this).Close(GetChannelFactory().InternalCloseTimeout); 586void ICommunicationObject.Open(TimeSpan timeout) 597void ICommunicationObject.Close(TimeSpan timeout) 643event EventHandler ICommunicationObject.Closed 655event EventHandler ICommunicationObject.Closing 667event EventHandler ICommunicationObject.Faulted 679event EventHandler ICommunicationObject.Opened 691event EventHandler ICommunicationObject.Opening 703IAsyncResult ICommunicationObject.BeginClose(AsyncCallback callback, object state) 705return ((ICommunicationObject)this).BeginClose(GetChannelFactory().InternalCloseTimeout, callback, state); 708IAsyncResult ICommunicationObject.BeginClose(TimeSpan timeout, AsyncCallback callback, object state) 713void ICommunicationObject.EndClose(IAsyncResult result) 718IAsyncResult ICommunicationObject.BeginOpen(AsyncCallback callback, object state) 720return ((ICommunicationObject)this).BeginOpen(GetChannelFactory().InternalOpenTimeout, callback, state); 723IAsyncResult ICommunicationObject.BeginOpen(TimeSpan timeout, AsyncCallback callback, object state) 728void ICommunicationObject.EndOpen(IAsyncResult result) 1253CommunicationState ICommunicationObject.State 1255get { return ((ICommunicationObject)this.channel).State; } 1258event EventHandler ICommunicationObject.Closed 1260add { ((ICommunicationObject)this.channel).Closed += value; } 1261remove { ((ICommunicationObject)this.channel).Closed -= value; } 1264event EventHandler ICommunicationObject.Closing 1266add { ((ICommunicationObject)this.channel).Closing += value; } 1267remove { ((ICommunicationObject)this.channel).Closing -= value; } 1270event EventHandler ICommunicationObject.Faulted 1272add { ((ICommunicationObject)this.channel).Faulted += value; } 1273remove { ((ICommunicationObject)this.channel).Faulted -= value; } 1276event EventHandler ICommunicationObject.Opened 1278add { ((ICommunicationObject)this.channel).Opened += value; } 1279remove { ((ICommunicationObject)this.channel).Opened -= value; } 1282event EventHandler ICommunicationObject.Opening 1284add { ((ICommunicationObject)this.channel).Opening += value; } 1285remove { ((ICommunicationObject)this.channel).Opening -= value; } 1288void ICommunicationObject.Abort() 1290((ICommunicationObject)this.channel).Abort(); 1293void ICommunicationObject.Close() 1295((ICommunicationObject)this.channel).Close(); 1298void ICommunicationObject.Close(TimeSpan timeout) 1300((ICommunicationObject)this.channel).Close(timeout); 1303IAsyncResult ICommunicationObject.BeginClose(AsyncCallback callback, object state) 1305return ((ICommunicationObject)this.channel).BeginClose(callback, state); 1308IAsyncResult ICommunicationObject.BeginClose(TimeSpan timeout, AsyncCallback callback, object state) 1310return ((ICommunicationObject)this.channel).BeginClose(timeout, callback, state); 1313void ICommunicationObject.EndClose(IAsyncResult result) 1315((ICommunicationObject)this.channel).EndClose(result); 1318void ICommunicationObject.Open() 1320((ICommunicationObject)this.channel).Open(); 1323void ICommunicationObject.Open(TimeSpan timeout) 1325((ICommunicationObject)this.channel).Open(timeout); 1328IAsyncResult ICommunicationObject.BeginOpen(AsyncCallback callback, object state) 1330return ((ICommunicationObject)this.channel).BeginOpen(callback, state); 1333IAsyncResult ICommunicationObject.BeginOpen(TimeSpan timeout, AsyncCallback callback, object state) 1335return ((ICommunicationObject)this.channel).BeginOpen(timeout, callback, state); 1338void ICommunicationObject.EndOpen(IAsyncResult result) 1340((ICommunicationObject)this.channel).EndOpen(result);
System\ServiceModel\Diagnostics\TraceUtility.cs (2)
457if (value is ICommunicationObject) 459((ICommunicationObject)value).Abort();
System\ServiceModel\Dispatcher\ChannelDispatcher.cs (2)
642List<ICommunicationObject> list = new List<ICommunicationObject>();
System\ServiceModel\Security\SecuritySessionServerSettings.cs (1)
51ICommunicationObject channelAcceptor;
System\ServiceModel\Security\SecurityUtils.cs (9)
1521OpenCommunicationObject(tokenProvider as ICommunicationObject, timeout); 1563OpenCommunicationObject(tokenAuthenticator as ICommunicationObject, timeout); 1603static void OpenCommunicationObject(ICommunicationObject obj, TimeSpan timeout) 1613ICommunicationObject co = obj as ICommunicationObject; 1641ICommunicationObject communicationObject; 1647this.communicationObject = obj as ICommunicationObject; 1711ICommunicationObject communicationObject; 1717this.communicationObject = obj as ICommunicationObject;
System\ServiceModel\Security\WrappedSessionSecurityTokenAuthenticator.cs (2)
35ICommunicationObject _communicationObject; 79_communicationObject = wcfSessionAuthenticator as ICommunicationObject;
System\ServiceModel\ServiceHost.cs (7)
1118foreach (ICommunicationObject channelDispatcher in this.SnapshotChannelDispatchers()) 1172ICommunicationObject[] SnapshotChannelDispatchers() 1176ICommunicationObject[] array = new ICommunicationObject[this.ChannelDispatchers.Count]; 1321List<ICommunicationObject> listeners = new List<ICommunicationObject>(); 1533IList<ICommunicationObject> channelDispatchers = this.serviceHost.SnapshotChannelDispatchers();
System.ServiceModel.Activities (3)
System\ServiceModel\Activities\InternalSendMessage.cs (3)
2962static void DisposeCommunicationObject(ICommunicationObject communicationObject) 3000ICommunicationObject communicationObject = (ICommunicationObject)result.AsyncState;
System.ServiceModel.Discovery (111)
System\ServiceModel\Discovery\AnnouncementClient.cs (40)
97event EventHandler ICommunicationObject.Closed 118event EventHandler ICommunicationObject.Closing 139event EventHandler ICommunicationObject.Faulted 160event EventHandler ICommunicationObject.Opened 181event EventHandler ICommunicationObject.Opening 221if (((ICommunicationObject)this).State != CommunicationState.Created) 261CommunicationState ICommunicationObject.State 277ICommunicationObject InnerCommunicationObject 285[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 286[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 289((ICommunicationObject)this).Open(); 424[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 425[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 428((ICommunicationObject)this).Close(); 431[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 432[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 433void ICommunicationObject.Open() 438[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 439[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 440void ICommunicationObject.Open(TimeSpan timeout) 445[Fx.Tag.InheritThrows(From = "BeginOpen", FromDeclaringType = typeof(ICommunicationObject))] 446IAsyncResult ICommunicationObject.BeginOpen(AsyncCallback callback, object state) 451[Fx.Tag.InheritThrows(From = "BeginOpen", FromDeclaringType = typeof(ICommunicationObject))] 452IAsyncResult ICommunicationObject.BeginOpen(TimeSpan timeout, AsyncCallback callback, object state) 457[Fx.Tag.InheritThrows(From = "EndOpen", FromDeclaringType = typeof(ICommunicationObject))] 458void ICommunicationObject.EndOpen(IAsyncResult result) 463[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 464[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 465void ICommunicationObject.Close() 470[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 471[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 472void ICommunicationObject.Close(TimeSpan timeout) 477[Fx.Tag.InheritThrows(From = "BeginClose", FromDeclaringType = typeof(ICommunicationObject))] 478IAsyncResult ICommunicationObject.BeginClose(AsyncCallback callback, object state) 483[Fx.Tag.InheritThrows(From = "BeginClose", FromDeclaringType = typeof(ICommunicationObject))] 484IAsyncResult ICommunicationObject.BeginClose(TimeSpan timeout, AsyncCallback callback, object state) 489[Fx.Tag.InheritThrows(From = "EndClose", FromDeclaringType = typeof(ICommunicationObject))] 490void ICommunicationObject.EndClose(IAsyncResult result) 495[Fx.Tag.InheritThrows(From = "Abort", FromDeclaringType = typeof(ICommunicationObject))] 496void ICommunicationObject.Abort()
System\ServiceModel\Discovery\DiscoveryClient.cs (49)
80event EventHandler ICommunicationObject.Opening 100event EventHandler ICommunicationObject.Opened 121event EventHandler ICommunicationObject.Closing 142event EventHandler ICommunicationObject.Closed 163event EventHandler ICommunicationObject.Faulted 222CommunicationState ICommunicationObject.State 238ICommunicationObject InnerCommunicationObject 246[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 247[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 248void ICommunicationObject.Open() 253[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 254[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 255void ICommunicationObject.Open(TimeSpan timeout) 260[Fx.Tag.InheritThrows(From = "BeginOpen", FromDeclaringType = typeof(ICommunicationObject))] 261[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 262IAsyncResult ICommunicationObject.BeginOpen(AsyncCallback callback, object state) 267[Fx.Tag.InheritThrows(From = "BeginOpen", FromDeclaringType = typeof(ICommunicationObject))] 268[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 269IAsyncResult ICommunicationObject.BeginOpen(TimeSpan timeout, AsyncCallback callback, object state) 274[Fx.Tag.InheritThrows(From = "EndOpen", FromDeclaringType = typeof(ICommunicationObject))] 275[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 276void ICommunicationObject.EndOpen(IAsyncResult result) 281[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 282[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 283void ICommunicationObject.Close() 285((ICommunicationObject)this).Close(defaultCloseDuration); 288[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 289[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 290void ICommunicationObject.Close(TimeSpan timeout) 310((ICommunicationObject)this).Abort(); 333[Fx.Tag.InheritThrows(From = "BeginClose", FromDeclaringType = typeof(ICommunicationObject))] 334[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 335IAsyncResult ICommunicationObject.BeginClose(AsyncCallback callback, object state) 337return ((ICommunicationObject)this).BeginClose(DiscoveryClient.defaultCloseDuration, callback, state); 340[Fx.Tag.InheritThrows(From = "BeginClose", FromDeclaringType = typeof(ICommunicationObject))] 341[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 342IAsyncResult ICommunicationObject.BeginClose(TimeSpan timeout, AsyncCallback callback, object state) 354[Fx.Tag.InheritThrows(From = "EndClose", FromDeclaringType = typeof(ICommunicationObject))] 355[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 356void ICommunicationObject.EndClose(IAsyncResult result) 361[Fx.Tag.InheritThrows(From = "Abort", FromDeclaringType = typeof(ICommunicationObject))] 362void ICommunicationObject.Abort() 373[Fx.Tag.InheritThrows(From = "Open", FromDeclaringType = typeof(ICommunicationObject))] 374[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 377((ICommunicationObject)this).Open(); 529[Fx.Tag.InheritThrows(From = "Close", FromDeclaringType = typeof(ICommunicationObject))] 530[Fx.Tag.Blocking(CancelMethod = "Abort", CancelDeclaringType = typeof(ICommunicationObject))] 533((ICommunicationObject)this).Close(); 1242((ICommunicationObject)thisPtr.client).Abort();
System\ServiceModel\Discovery\DiscoveryClientChannelBase.cs (1)
377((ICommunicationObject)this.discoveryClient).Close(timeoutHelper.RemainingTime());
System\ServiceModel\Discovery\IAnnouncementInnerClient.cs (1)
20ICommunicationObject InnerCommunicationObject { get; }
System\ServiceModel\Discovery\IDiscoveryInnerClient.cs (1)
16ICommunicationObject InnerCommunicationObject { get; }
System\ServiceModel\Discovery\RandomDelaySendsAsyncResult.cs (3)
11readonly ICommunicationObject channel; 41protected RandomDelaySendsAsyncResult(int numSends, TimeSpan maxDelay, ICommunicationObject channel, AsyncCallback callback, object state) 46protected RandomDelaySendsAsyncResult(int numSends, TimeSpan maxDelay, ICommunicationObject channel, Random random, AsyncCallback callback, object state)
System\ServiceModel\Discovery\Version11\AnnouncementInnerClient11.cs (2)
93public ICommunicationObject InnerCommunicationObject 97return this as ICommunicationObject;
System\ServiceModel\Discovery\Version11\DiscoveryInnerClientAdhoc11.cs (2)
62public ICommunicationObject InnerCommunicationObject 66return this.duplexInnerClient as ICommunicationObject;
System\ServiceModel\Discovery\Version11\DiscoveryInnerClientManaged11.cs (2)
56public ICommunicationObject InnerCommunicationObject 60return this as ICommunicationObject;
System\ServiceModel\Discovery\VersionApril2005\AnnouncementInnerClientApril2005.cs (2)
94public ICommunicationObject InnerCommunicationObject 98return this as ICommunicationObject;
System\ServiceModel\Discovery\VersionApril2005\DiscoveryInnerClientApril2005.cs (2)
63public ICommunicationObject InnerCommunicationObject 67return this.duplexInnerClient as ICommunicationObject;
System\ServiceModel\Discovery\VersionCD1\AnnouncementInnerClientCD1.cs (2)
93public ICommunicationObject InnerCommunicationObject 97return this as ICommunicationObject;
System\ServiceModel\Discovery\VersionCD1\DiscoveryInnerClientAdhocCD1.cs (2)
62public ICommunicationObject InnerCommunicationObject 66return this.duplexInnerClient as ICommunicationObject;
System\ServiceModel\Discovery\VersionCD1\DiscoveryInnerClientManagedCD1.cs (2)
56public ICommunicationObject InnerCommunicationObject 60return this as ICommunicationObject;
System.ServiceModel.Routing (11)
System\ServiceModel\Routing\ClientFactory.cs (3)
148((ICommunicationObject)channel).Faulted += this.InnerChannelFaulted; 224asyncResult = ((ICommunicationObject)this.parent).BeginOpen(this.PrepareAsyncCompletion(openComplete), this); 251((ICommunicationObject)thisPtr.parent).EndOpen(openResult);
System\ServiceModel\Routing\ProcessMessagesAsyncResult.cs (2)
434result = ((ICommunicationObject)this.client).BeginClose(this.timeoutHelper.RemainingTime(), 490((ICommunicationObject)this.client).EndClose(result);
System\ServiceModel\Routing\RoutingUtilities.cs (1)
19internal static void Abort(ICommunicationObject commObj, object identifier)
System\ServiceModel\Routing\SessionChannels.cs (5)
45List<ICommunicationObject> localClients = null; 51localClients = this.sessionList.ConvertAll<ICommunicationObject>((client) => (ICommunicationObject)client); 119RoutingUtilities.Abort((ICommunicationObject)client, client.Key); 137RoutingUtilities.Abort((ICommunicationObject)client, client.Key);
System.WorkflowServices (2)
System\Workflow\Runtime\Hosting\ChannelManagerHelpers.cs (2)
58public static void CloseCommunicationObject(ICommunicationObject communicationObject) 63public static void CloseCommunicationObject(ICommunicationObject communicationObject, TimeSpan timeout)