public RasConnectionStatistics GetConnectionStatistics(IRasConnection connection) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } var stats = GetConnectionStatisticsByHandle(connection.Handle); return(new RasConnectionStatistics( stats.dwBytesXmited, stats.dwBytesRcved, stats.dwFramesXmited, stats.dwFramesRcved, stats.dwCrcErr, stats.dwTimeoutErr, stats.dwAlignmentErr, stats.dwHardwareOverrunErr, stats.dwFramingErr, stats.dwBufferOverrunErr, stats.dwCompressionRatioIn, stats.dwCompressionRatioOut, stats.dwBps, TimeSpan.FromMilliseconds(stats.dwConnectDuration))); }
public void HangUp(IRasConnection connection, bool closeAllReferences, CancellationToken cancellationToken) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } HangUpImpl(connection.Handle, closeAllReferences, cancellationToken); }
public Task HangUpAsync(IRasConnection connection, bool closeAllReferences, CancellationToken cancellationToken) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } return(Task.Run(() => HangUpImpl(connection.Handle, closeAllReferences, cancellationToken), cancellationToken)); }
public void ClearConnectionStatistics(IRasConnection connection) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } var ret = api.RasClearConnectionStatistics(connection.Handle); if (ret != SUCCESS) { throw exceptionPolicy.Create(ret); } }
public RasConnectionStatus GetConnectionStatus(IRasConnection connection) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } var rasConnStatus = GetConnectionStatusByHandle(connection.Handle); return(new RasConnectionStatus( rasConnStatus.rasconnstate, CreateDevice(rasConnStatus), rasConnStatus.szPhoneNumber, CreateLocalIPAddress(rasConnStatus), CreateRemoteIPAddress(rasConnStatus), rasConnStatus.rasconnsubstate)); }