public override ConnectionInfo GetConnectionInfo() { ConnectionStatus status; switch (state) { case ConnectionState.Waiting: status = ConnectionStatus.Connecting; break; case ConnectionState.Connected: status = ConnectionStatus.Connecting; break; case ConnectionState.Receiving: status = ConnectionStatus.Connected; break; case ConnectionState.Error: status = ConnectionStatus.Error; break; default: status = ConnectionStatus.Idle; break; } IPEndPoint endpoint = null; if (this.connection?.Client?.Connected ?? false) { endpoint = (IPEndPoint)this.connection.Client.Client.RemoteEndPoint; } return(new ConnectionInfoBuilder { ProtocolName = "HTTP Push Source", Type = ConnectionType.Source, Status = status, RemoteName = SourceUri.ToString(), RemoteEndPoint = endpoint, RemoteHostStatus = (endpoint != null && endpoint.Address.IsSiteLocal()) ? RemoteHostStatus.Local : RemoteHostStatus.None, ContentPosition = contentSink.LastContent?.Position ?? 0, RecvRate = RecvRate, SendRate = SendRate, AgentName = clientName, }.Build()); }
public override ConnectionInfo GetConnectionInfo() { if (sourceConnection != null) { return(sourceConnection.GetConnectionInfo()); } else { ConnectionStatus status; switch (StoppedReason) { case StopReason.UserReconnect: status = ConnectionStatus.Connecting; break; case StopReason.UserShutdown: status = ConnectionStatus.Idle; break; default: status = ConnectionStatus.Error; break; } IPEndPoint endpoint = null; string server_name = ""; return(new ConnectionInfo( "HTTP Source", ConnectionType.Source, status, SourceUri.ToString(), endpoint, RemoteHostStatus.None, null, null, null, null, null, server_name)); } }
public override ConnectionInfo GetConnectionInfo() { if (sourceConnection != null) { return(sourceConnection.GetConnectionInfo()); } else { ConnectionStatus status; switch (StoppedReason) { case StopReason.UserReconnect: status = ConnectionStatus.Connecting; break; case StopReason.UserShutdown: status = ConnectionStatus.Idle; break; default: status = ConnectionStatus.Error; break; } IPEndPoint endpoint = null; string client_name = ""; return(new ConnectionInfoBuilder { ProtocolName = "RTMP Source", Type = ConnectionType.Source, Status = status, RemoteName = SourceUri.ToString(), RemoteEndPoint = endpoint, RemoteHostStatus = RemoteHostStatus.None, AgentName = client_name, }.Build()); } }
/// <summary> /// Serializes the object to XML. /// </summary> /// <param name="writer">The xml writer to which to serialize the object.</param> public void WriteXml(XmlWriter writer) { writer.WriteStartElement("sourceUri"); XmlSerializer xsrSerializer = new XmlSerializer(typeof(string)); xsrSerializer.Serialize(writer, SourceUri.ToString()); writer.WriteEndElement(); writer.WriteStartElement("sourcePath"); xsrSerializer = new XmlSerializer(typeof(string)); xsrSerializer.Serialize(writer, SourcePath); writer.WriteEndElement(); writer.WriteStartElement("sourceName"); foreach (string strCaption in SourceName) { xsrSerializer = new XmlSerializer(typeof(string)); xsrSerializer.Serialize(writer, strCaption); } writer.WriteEndElement(); writer.WriteStartElement("defaultSourcePath"); xsrSerializer = new XmlSerializer(typeof(string)); xsrSerializer.Serialize(writer, DefaultSourcePath); writer.WriteEndElement(); writer.WriteStartElement("status"); xsrSerializer = new XmlSerializer(typeof(TaskStatus)); xsrSerializer.Serialize(writer, Status); writer.WriteEndElement(); writer.WriteStartElement("downloadFiles"); foreach (Uri uriFile in DownloadFiles) { writer.WriteStartElement("file"); writer.WriteAttributeString("path", uriFile.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteStartElement("downloadedFiles"); foreach (string strFile in DownloadedFiles) { writer.WriteStartElement("file"); writer.WriteAttributeString("path", strFile); writer.WriteEndElement(); } writer.WriteEndElement(); }
public override ConnectionInfo GetConnectionInfo() { ConnectionStatus status; switch (state) { case State.SendingRequest: status = ConnectionStatus.Connecting; break; case State.WaitingResponse: status = ConnectionStatus.Connecting; break; case State.Receiving: status = ConnectionStatus.Connected; break; case State.Disconnected: status = ConnectionStatus.Error; break; default: status = ConnectionStatus.Idle; break; } IPEndPoint endpoint = null; if (client != null && client.Connected) { endpoint = (IPEndPoint)client.Client.RemoteEndPoint; } string server_name = ""; if (response == null || !response.Headers.TryGetValue("SERVER", out server_name)) { server_name = ""; } return(new ConnectionInfo( "HTTP Source", ConnectionType.Source, status, SourceUri.ToString(), endpoint, (endpoint != null && endpoint.Address.IsSiteLocal()) ? RemoteHostStatus.Local : RemoteHostStatus.None, lastPosition, RecvRate, SendRate, null, null, server_name)); }
public ConnectionInfo GetConnectionInfo() { var source_connection_info = SourceChannel?.SourceStream?.GetConnectionInfo(); ConnectionStatus status; switch (StoppedReason) { case StopReason.None: if (SourceChannel != null) { status = ConnectionStatus.Connected; } else { status = ConnectionStatus.Error; } break; case StopReason.OffAir: case StopReason.UserReconnect: case StopReason.UserShutdown: status = ConnectionStatus.Idle; break; default: status = ConnectionStatus.Error; break; } return(new ConnectionInfoBuilder { ProtocolName = "Loopback Source", Type = ConnectionType.Source, Status = status, RemoteName = SourceUri.ToString(), RemoteEndPoint = null, RemoteHostStatus = RemoteHostStatus.Local, ContentPosition = SourceChannel?.ContentPosition ?? 0, RecvRate = source_connection_info?.RecvRate ?? 0.0f, SendRate = source_connection_info?.SendRate ?? 0.0f, AgentName = "", }.Build()); }
public override ConnectionInfo GetConnectionInfo() { IPEndPoint endpoint = connection != null ? connection.RemoteEndPoint : null; string server_name = ""; if (response == null || !response.Headers.TryGetValue("SERVER", out server_name)) { server_name = ""; } return(new ConnectionInfoBuilder { ProtocolName = "HTTP Source", Type = ConnectionType.Source, Status = Status, RemoteName = SourceUri.ToString(), RemoteEndPoint = endpoint, RemoteHostStatus = (endpoint != null && endpoint.Address.IsSiteLocal()) ? RemoteHostStatus.Local : RemoteHostStatus.None, ContentPosition = contentSink.LastContent?.Position ?? 0, RecvRate = RecvRate, SendRate = SendRate, AgentName = server_name, }.Build()); }
public override ConnectionInfo GetConnectionInfo() { if (sourceConnection != null) { return(sourceConnection.GetConnectionInfo()); } else { return(new ConnectionInfoBuilder { ProtocolName = "Loopback Source", Type = ConnectionType.Source, Status = ConnectionStatus.Idle, RemoteName = SourceUri.ToString(), RemoteEndPoint = null, RemoteHostStatus = RemoteHostStatus.Local, ContentPosition = 0, RecvRate = RecvRate, SendRate = SendRate, AgentName = "", }.Build()); } }
public override ConnectionInfo GetConnectionInfo() { ConnectionStatus status; switch (state) { case ConnectionState.Waiting: status = ConnectionStatus.Connecting; break; case ConnectionState.Connected: status = ConnectionStatus.Connecting; break; case ConnectionState.Receiving: status = ConnectionStatus.Connected; break; case ConnectionState.Error: status = ConnectionStatus.Error; break; default: status = ConnectionStatus.Idle; break; } IPEndPoint endpoint = null; if (client != null && client.Connected) { endpoint = (IPEndPoint)client.Client.RemoteEndPoint; } return(new ConnectionInfo( "RTMP Source", ConnectionType.Source, status, SourceUri.ToString(), endpoint, (endpoint != null && endpoint.Address.IsSiteLocal()) ? RemoteHostStatus.Local : RemoteHostStatus.None, flvBuffer.Position, RecvRate, SendRate, null, null, clientName)); }
/// <summary> /// Returns a summary of the descriptor. /// </summary> /// <returns>A summary of the descriptor.</returns> public override string ToString() { return(String.Format("{0} => {1} ({2})", SourceUri.ToString(), SourcePath, DownloadFiles.Count)); }