| Index: net/tools/flip_server/streamer_interface.cc
|
| diff --git a/net/tools/flip_server/streamer_interface.cc b/net/tools/flip_server/streamer_interface.cc
|
| deleted file mode 100644
|
| index 5f3d479ce04faffba6aaeb8c6ac3de2017ff664e..0000000000000000000000000000000000000000
|
| --- a/net/tools/flip_server/streamer_interface.cc
|
| +++ /dev/null
|
| @@ -1,201 +0,0 @@
|
| -// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "net/tools/flip_server/streamer_interface.h"
|
| -
|
| -#include <string>
|
| -
|
| -#include "net/tools/balsa/balsa_frame.h"
|
| -#include "net/tools/flip_server/constants.h"
|
| -#include "net/tools/flip_server/flip_config.h"
|
| -#include "net/tools/flip_server/sm_connection.h"
|
| -
|
| -namespace net {
|
| -
|
| -std::string StreamerSM::forward_ip_header_;
|
| -
|
| -StreamerSM::StreamerSM(SMConnection* connection,
|
| - SMInterface* sm_other_interface,
|
| - EpollServer* epoll_server,
|
| - FlipAcceptor* acceptor)
|
| - : connection_(connection),
|
| - sm_other_interface_(sm_other_interface),
|
| - epoll_server_(epoll_server),
|
| - acceptor_(acceptor),
|
| - is_request_(false),
|
| - http_framer_(new BalsaFrame) {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "Creating StreamerSM object";
|
| - http_framer_->set_balsa_visitor(this);
|
| - http_framer_->set_balsa_headers(&headers_);
|
| - http_framer_->set_is_request(false);
|
| -}
|
| -
|
| -StreamerSM::~StreamerSM() {
|
| - VLOG(1) << ACCEPTOR_CLIENT_IDENT << "Destroying StreamerSM object";
|
| - Reset();
|
| - delete http_framer_;
|
| -}
|
| -
|
| -void StreamerSM::set_is_request() {
|
| - is_request_ = true;
|
| - http_framer_->set_is_request(true);
|
| -}
|
| -
|
| -void StreamerSM::InitSMInterface(SMInterface* sm_other_interface,
|
| - int32_t server_idx) {
|
| - sm_other_interface_ = sm_other_interface;
|
| -}
|
| -
|
| -void StreamerSM::InitSMConnection(SMConnectionPoolInterface* connection_pool,
|
| - SMInterface* sm_interface,
|
| - EpollServer* epoll_server,
|
| - int fd,
|
| - std::string server_ip,
|
| - std::string server_port,
|
| - std::string remote_ip,
|
| - bool use_ssl) {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "StreamerSM: Initializing server "
|
| - << "connection.";
|
| - connection_->InitSMConnection(connection_pool,
|
| - sm_interface,
|
| - epoll_server,
|
| - fd,
|
| - server_ip,
|
| - server_port,
|
| - remote_ip,
|
| - use_ssl);
|
| -}
|
| -
|
| -size_t StreamerSM::ProcessReadInput(const char* data, size_t len) {
|
| - // For now we only want to parse http requests. Just stream responses
|
| - if (is_request_) {
|
| - return http_framer_->ProcessInput(data, len);
|
| - } else {
|
| - return sm_other_interface_->ProcessWriteInput(data, len);
|
| - }
|
| -}
|
| -
|
| -size_t StreamerSM::ProcessWriteInput(const char* data, size_t len) {
|
| - char* dataPtr = new char[len];
|
| - memcpy(dataPtr, data, len);
|
| - DataFrame* df = new DataFrame;
|
| - df->data = (const char*)dataPtr;
|
| - df->size = len;
|
| - df->delete_when_done = true;
|
| - connection_->EnqueueDataFrame(df);
|
| - return len;
|
| -}
|
| -
|
| -bool StreamerSM::Error() const { return false; }
|
| -
|
| -const char* StreamerSM::ErrorAsString() const { return "(none)"; }
|
| -
|
| -bool StreamerSM::MessageFullyRead() const {
|
| - if (is_request_) {
|
| - return http_framer_->MessageFullyRead();
|
| - } else {
|
| - return false;
|
| - }
|
| -}
|
| -
|
| -void StreamerSM::Reset() {
|
| - VLOG(1) << ACCEPTOR_CLIENT_IDENT << "StreamerSM: Reset";
|
| - connection_->Cleanup("Server Reset");
|
| - http_framer_->Reset();
|
| -}
|
| -
|
| -void StreamerSM::ResetForNewConnection() {
|
| - http_framer_->Reset();
|
| - sm_other_interface_->Reset();
|
| -}
|
| -
|
| -void StreamerSM::Cleanup() {
|
| - if (is_request_)
|
| - http_framer_->Reset();
|
| -}
|
| -
|
| -int StreamerSM::PostAcceptHook() {
|
| - if (!sm_other_interface_) {
|
| - SMConnection* server_connection = SMConnection::NewSMConnection(
|
| - epoll_server_, NULL, NULL, acceptor_, "server_conn: ");
|
| - if (server_connection == NULL) {
|
| - LOG(ERROR) << "StreamerSM: Could not create server conenction.";
|
| - return 0;
|
| - }
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "StreamerSM: Creating new server "
|
| - << "connection.";
|
| - sm_other_interface_ =
|
| - new StreamerSM(server_connection, this, epoll_server_, acceptor_);
|
| - sm_other_interface_->InitSMInterface(this, 0);
|
| - }
|
| - // The Streamer interface is used to stream HTTPS connections, so we
|
| - // will always use the https_server_ip/port here.
|
| - sm_other_interface_->InitSMConnection(NULL,
|
| - sm_other_interface_,
|
| - epoll_server_,
|
| - -1,
|
| - acceptor_->https_server_ip_,
|
| - acceptor_->https_server_port_,
|
| - std::string(),
|
| - false);
|
| -
|
| - return 1;
|
| -}
|
| -
|
| -size_t StreamerSM::SendSynStream(uint32_t stream_id,
|
| - const BalsaHeaders& headers) {
|
| - return 0;
|
| -}
|
| -
|
| -size_t StreamerSM::SendSynReply(uint32_t stream_id,
|
| - const BalsaHeaders& headers) {
|
| - return 0;
|
| -}
|
| -
|
| -void StreamerSM::ProcessBodyInput(const char* input, size_t size) {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT
|
| - << "StreamerHttpSM: Process Body Input Data: "
|
| - << "size " << size;
|
| - sm_other_interface_->ProcessWriteInput(input, size);
|
| -}
|
| -
|
| -void StreamerSM::MessageDone() {
|
| - if (acceptor_->flip_handler_type_ == FLIP_HANDLER_PROXY) {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "StreamerHttpSM: MessageDone.";
|
| - // TODO(kelindsay): anything need to be done ehre?
|
| - } else {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "StraemerHttpSM: MessageDone.";
|
| - }
|
| -}
|
| -
|
| -void StreamerSM::ProcessHeaders(const BalsaHeaders& headers) {
|
| - VLOG(2) << ACCEPTOR_CLIENT_IDENT << "HttpStreamerSM: Process Headers";
|
| - BalsaHeaders mod_headers;
|
| - mod_headers.CopyFrom(headers);
|
| - if (forward_ip_header_.length()) {
|
| - LOG(INFO) << "Adding forward header: " << forward_ip_header_;
|
| - mod_headers.ReplaceOrAppendHeader(forward_ip_header_,
|
| - connection_->client_ip());
|
| - } else {
|
| - LOG(INFO) << "NOT adding forward header.";
|
| - }
|
| - SimpleBuffer sb;
|
| - char* buffer;
|
| - int size;
|
| - mod_headers.WriteHeaderAndEndingToBuffer(&sb);
|
| - sb.GetReadablePtr(&buffer, &size);
|
| - sm_other_interface_->ProcessWriteInput(buffer, size);
|
| -}
|
| -
|
| -void StreamerSM::HandleHeaderError(BalsaFrame* framer) { HandleError(); }
|
| -
|
| -void StreamerSM::HandleChunkingError(BalsaFrame* framer) { HandleError(); }
|
| -
|
| -void StreamerSM::HandleBodyError(BalsaFrame* framer) { HandleError(); }
|
| -
|
| -void StreamerSM::HandleError() {
|
| - VLOG(1) << ACCEPTOR_CLIENT_IDENT << "Error detected";
|
| -}
|
| -
|
| -} // namespace net
|
|
|