C# Class PeerCastStation.HTTP.HTTPOutputStream

HTTPで視聴出力をするクラスです
Inheritance: PeerCastStation.Core.OutputStreamBase
显示文件 Open project: niwakazoider/peercaststation

Public Methods

Method Description
GetConnectionInfo ( ) : ConnectionInfo
HTTPOutputStream ( PeerCastStation.Core.PeerCast peercast, Stream input_stream, Stream output_stream, EndPoint remote_endpoint, AccessControlInfo access_control, Channel channel, HTTPRequest request ) : System

元になるストリーム、チャンネル、リクエストからHTTPOutputStreamを初期化します

ToString ( ) : string

Protected Methods

Method Description
CreateResponseHeader ( ) : string

HTTPのレスポンスヘッダを作成して取得します

GetBodyType ( ) : BodyType

リクエストと所属するチャンネルの有無から出力すべき内容を取得します

GetUpstreamRate ( ) : int
OnIdle ( ) : void
OnStarted ( ) : void

ストリームにレスポンスを出力します

OnStopped ( ) : void
OnWaitChannelCompleted ( ) : void
OnWriteResponseBodyCompleted ( ) : void
OnWriteResponseHeaderCompleted ( ) : void
WaitChannel ( ) : void

チャンネルのContentTypeが取得できるか10秒たつまで待ちます。

WritePlayList ( ) : void

ストリームにプレイリストを出力します

WriteResponseBody ( ) : void

ストリームにHTTPレスポンスのボディ部分を出力します

WriteResponseHeader ( ) : void

ストリームにHTTPレスポンスヘッダを出力します

Private Methods

Method Description
OnContentChanged ( object sender, EventArgs args ) : void
SetState ( System.Action state ) : void

Method Details

CreateResponseHeader() protected method

HTTPのレスポンスヘッダを作成して取得します
protected CreateResponseHeader ( ) : string
return string

GetBodyType() protected method

リクエストと所属するチャンネルの有無から出力すべき内容を取得します
protected GetBodyType ( ) : BodyType
return BodyType

GetConnectionInfo() public method

public GetConnectionInfo ( ) : ConnectionInfo
return PeerCastStation.Core.ConnectionInfo

GetUpstreamRate() protected method

protected GetUpstreamRate ( ) : int
return int

HTTPOutputStream() public method

元になるストリーム、チャンネル、リクエストからHTTPOutputStreamを初期化します
public HTTPOutputStream ( PeerCastStation.Core.PeerCast peercast, Stream input_stream, Stream output_stream, EndPoint remote_endpoint, AccessControlInfo access_control, Channel channel, HTTPRequest request ) : System
peercast PeerCastStation.Core.PeerCast 所属するPeerCast
input_stream Stream 元になる受信ストリーム
output_stream Stream 元になる送信ストリーム
remote_endpoint System.Net.EndPoint 接続先のアドレス
access_control PeerCastStation.Core.AccessControlInfo 接続可否および認証の情報
channel Channel 所属するチャンネル。無い場合はnull
request HTTPRequest クライアントからのリクエスト
return System

OnIdle() protected method

protected OnIdle ( ) : void
return void

OnStarted() protected method

ストリームにレスポンスを出力します
protected OnStarted ( ) : void
return void

OnStopped() protected method

protected OnStopped ( ) : void
return void

OnWaitChannelCompleted() protected method

protected OnWaitChannelCompleted ( ) : void
return void

OnWriteResponseBodyCompleted() protected method

protected OnWriteResponseBodyCompleted ( ) : void
return void

OnWriteResponseHeaderCompleted() protected method

protected OnWriteResponseHeaderCompleted ( ) : void
return void

ToString() public method

public ToString ( ) : string
return string

WaitChannel() protected method

チャンネルのContentTypeが取得できるか10秒たつまで待ちます。
protected WaitChannel ( ) : void
return void

WritePlayList() protected method

ストリームにプレイリストを出力します
protected WritePlayList ( ) : void
return void

WriteResponseBody() protected method

ストリームにHTTPレスポンスのボディ部分を出力します
protected WriteResponseBody ( ) : void
return void

WriteResponseHeader() protected method

ストリームにHTTPレスポンスヘッダを出力します
protected WriteResponseHeader ( ) : void
return void