Exemple #1
0
Client::Client( thread_Settings *inSettings ) {
    mSettings = inSettings;
    mBuf = NULL;

    // initialize buffer
    mBuf = new char[ mSettings->mBufLen ];
    pattern( mBuf, mSettings->mBufLen );
    if ( isFileInput( mSettings ) ) {
        if ( !isSTDIN( mSettings ) )
            Extractor_Initialize( mSettings->mFileName, mSettings->mBufLen, mSettings );
        else
            Extractor_InitializeFile( stdin, mSettings->mBufLen, mSettings );

        if ( !Extractor_canRead( mSettings ) ) {
            unsetFileInput( mSettings );
        }
    }

    // connect
    Connect( );

    if ( isReport( inSettings ) ) {
        ReportSettings( inSettings );
        if ( mSettings->multihdr && isMultipleReport( inSettings ) ) {
            mSettings->multihdr->report->connection.peer = mSettings->peer;
            mSettings->multihdr->report->connection.size_peer = mSettings->size_peer;
            mSettings->multihdr->report->connection.local = mSettings->local;
            SockAddr_setPortAny( &mSettings->multihdr->report->connection.local );
            mSettings->multihdr->report->connection.size_local = mSettings->size_local;
        }
    }

} // end Client
Exemple #2
0
Listener::Listener( thread_Settings *inSettings ) {

    mClients = inSettings->mThreads;
    mBuf = NULL;
    mSettings = inSettings;

    // initialize buffer
    mBuf = new char[ mSettings->mBufLen ];

    if ( mSettings->mOutputDataFileName != NULL )
        if ( (mSettings->Output_file = \
                                       fopen (mSettings->mOutputDataFileName, "ab")) == NULL )
            fprintf( stderr, "Unable to open the outfile stream\n");

    // open listening socket
    if ( mSettings->mThreadMode == kMode_RDMA_Listener ) {
        mCb = new rdma_cb;
        Settings_Initialize_Cb( mCb );
        rdma_init( mCb );

//	Setting_Copy_Ts2Cb( mSettings, mCb );

        {
            // addr
            /*	if ( mSettings->mThreadMode == kMode_RDMA_Listener)
            		memcpy( &mCb->sin, &mSettings->local, sizeof(iperf_sockaddr));
            	else if ( mSettings->mThreadMode == kMode_RDMA_Client)
            		memcpy( &mCb->sin, &mSettings->peer, sizeof(iperf_sockaddr));
            */
            // port
            mCb->port = mSettings->mPort;
            DPRINTF(("listening port is %d\n", mCb->port));

            mCb->server = 1;

            mCb->size = mSettings->mBufLen;
            DPRINTF(("Listener buffer size is %d\n", mCb->size));

            mCb->outputfile = mSettings->Output_file;
        }
        ListenRDMA( );
    }
    else
        Listen( );

    ReportSettings( inSettings );

} // end Listener
Exemple #3
0
Client::Client( thread_Settings *inSettings ) {
    mSettings = inSettings;
    mBuf = NULL;

    // initialize buffer
    mBuf = new char[ mSettings->mBufLen ];
    pattern( mBuf, mSettings->mBufLen );
    //strcpy(outFile,mSettings->mLogFileName);
    pthread_t currentThread = pthread_self();
    long tid = (long)currentThread;
    sprintf(outFileName,"%s%ld",mSettings->mLogFileName,tid);
    outFile = NULL;
    outFile = fopen(outFileName,"w");

    if ( isFileInput( mSettings ) ) {
        if ( !isSTDIN( mSettings ) )
            Extractor_Initialize( mSettings->mFileName, mSettings->mBufLen, mSettings );
        else
            Extractor_InitializeFile( stdin, mSettings->mBufLen, mSettings );

        if ( !Extractor_canRead( mSettings ) ) {
            unsetFileInput( mSettings );
        }
    }

    // connect
    Connect( );

    if ( isReport( inSettings ) ) {
        ReportSettings( inSettings );
        if ( mSettings->multihdr && isMultipleReport( inSettings ) ) {
            mSettings->multihdr->report->connection.peer = mSettings->peer;
            mSettings->multihdr->report->connection.size_peer = mSettings->size_peer;
            mSettings->multihdr->report->connection.local = mSettings->local;
            SockAddr_setPortAny( &mSettings->multihdr->report->connection.local );
            mSettings->multihdr->report->connection.size_local = mSettings->size_local;
        }
    }

} // end Client
Exemple #4
0
mmPrintableBase* Option::ReportFunction(int report)
{
    mmPrintableBase* function = nullptr;
    if ((report >= 0) && (report < ReportCount()))
    {
        ReportInfo* r = reinterpret_cast<ReportInfo*>(m_reports[report]);
        switch (r->id)
        {
        case ReportInfo::MyUsage:
            function = new mmReportMyUsage();
            break;
        case ReportInfo::MonthlySummaryofAccounts:
            function = new mmReportSummaryByDate(0);
            break;
        case ReportInfo::YearlySummaryofAccounts:
            function = new mmReportSummaryByDate(1);
            break;
        case ReportInfo::WheretheMoneyGoes:
            function = new mmReportCategoryExpensesGoes();
            break;
        case ReportInfo::WheretheMoneyComesFrom:
            function = new mmReportCategoryExpensesComes();
            break;
        case ReportInfo::CategoriesSummary:
            function = new mmReportCategoryExpensesCategories();
            break;
        case ReportInfo::CategoriesMonthly:
            function = new mmReportCategoryOverTimePerformance();
            break;
        case ReportInfo::Payees:
            function = new mmReportPayeeExpenses();
            break;
        case ReportInfo::IncomevsExpensesSummary:
            function = new mmReportIncomeExpenses();
            break;
        case ReportInfo::IncomevsExpensesMonthly:
            function = new mmReportIncomeExpensesMonthly();
            break;
        case ReportInfo::BudgetPerformance:
            function = new mmReportBudgetingPerformance();
            break;
        case ReportInfo::BudgetCategorySummary:
            function = new mmReportBudgetCategorySummary();
            break;
        case ReportInfo::MonthlyCashFlow:
            function = new mmReportCashFlow(mmReportCashFlow::MONTHLY);
            break;
        case ReportInfo::DailyCashFlow:
            function = new mmReportCashFlow(mmReportCashFlow::DAILY);
            break;
        case ReportInfo::StocksReportPerformance:
            function = new mmReportChartStocks();
            break;
        case ReportInfo::StocksReportSummary:
            function = new mmReportSummaryStocks();
            break;
        case ReportInfo::ForecastReport:
            function = new mmReportForecast();
            break;
        default:
            break;
        }
        if (function != nullptr)
            function->setSettings(ReportSettings(r->id));
    }
    return function;
}