Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #10258

Re: Thoughts on function

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: Thoughts on function
Date 2011-09-19 09:34 +1200
Message-ID <9dn6ekFr5dU8@mid.individual.net> (permalink)
References (1 earlier) <9ddfi0F784U12@mid.individual.net> <85a545df-d6b9-4e67-9570-4d2aab13b8c3@f41g2000yqh.googlegroups.com> <9df2i4F2gmU11@mid.individual.net> <0d205a4f-b6d5-494e-baf1-b5add2798806@o9g2000vbo.googlegroups.com> <880af656-7aaf-4e4c-baa8-91ae77d541e4@f41g2000yqh.googlegroups.com>

Show all headers | View raw


On 09/19/11 08:30 AM, Ebenezer wrote:
> On Sep 15, 7:23 pm, Ebenezer<woodbria...@gmail.com>  wrote:
>>
>> I started by asking for ideas on how to improve it.
>> Perhaps someone would show what they believe to be
>> an improvement.  I realized after thinking about
>> your earlier comments that the member variable
>> partialFlush could be a static local variable.
>>
>> bool
>> SendBuffer::Flush ()
>> {
>>    uint32_t const all = buf_.size();
>>    uint32_t numWritten = 0;
>>    static bool partialFlush = false;
>>    if (partialFlush) {
>>      ::neolib::segmented_array<unsigned char, chunk_size>::segment&
>> segment =
>>                 segmented_iterator<unsigned char,
>> chunk_size>(buf_.begin()).segment();
>>
>>      numWritten = Write(sock_,&buf_[0], segment.size());
>>      if (numWritten<  segment.size()) goto ending;
>>      partialFlush = false;
>>    }
>>
>>    {
>>      int32_t const chunks = (all - numWritten) / chunk_size;
>>      for (int32_t ii = 0; ii<  chunks; ++ii) {
>>        uint32_t bytes = Write(sock_,&buf_[numWritten], chunk_size);
>>        numWritten += bytes;
>>        if (bytes<  chunk_size) goto ending;
>>      }
>>    }
>>
>>    if (numWritten<  all) {
>>      numWritten += Write(sock_,&buf_[numWritten], all - numWritten);
>>    }
>>
>> ending:
>>    buf_.erase(buf_.begin(), buf_.begin() + numWritten);
>>    if (numWritten == all) return true;
>>
>>    partialFlush = true;
>>    return false;
>> }
>
>
> How would you rate this function -- with a 1 being terrible
> and a 10 being excellent?

You don't appear to have headed any of the suggestions.

At review, I'd still give it a 1 because it isn't clear what it does, 
why it uses fixed width types and it still contains gratuitous gotos.

-- 
Ian Collins

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-14 22:01 -0700
  Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-15 17:08 +1200
    Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-15 07:34 -0700
      Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-16 07:38 +1200
        Re: Thoughts on function Leigh Johnston <leigh@i42.co.uk> - 2011-09-15 20:40 +0100
        Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-15 17:23 -0700
          Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-18 13:30 -0700
            Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-19 09:34 +1200
              Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-18 18:25 -0700
                Re: Thoughts on function Geoff <geoff@invalid.invalid> - 2011-09-18 19:08 -0700
                Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-18 19:46 -0700
                Re: Thoughts on function Geoff <geoff@invalid.invalid> - 2011-09-18 20:12 -0700
                Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-18 21:28 -0700
                Re: Thoughts on function Miles Bader <miles@gnu.org> - 2011-09-19 13:26 +0900
                Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-19 16:45 +1200
                Re: Thoughts on function Miles Bader <miles@gnu.org> - 2011-09-19 15:19 +0900
                Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-19 16:43 +1200
                Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-19 11:16 -0700
                Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-20 07:44 +1200
                Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-19 18:03 -0700
                Re: Thoughts on function Ian Collins <ian-news@hotmail.com> - 2011-09-20 13:15 +1200
                Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-19 18:27 -0700
  Re: Thoughts on function Fulvio Esposito <esposito.fulvio@gmail.com> - 2011-09-16 02:19 -0700
    Re: Thoughts on function Ebenezer <woodbrian77@gmail.com> - 2011-09-16 11:20 -0700
      Re: Thoughts on function Fulvio Esposito <esposito.fulvio@gmail.com> - 2011-09-16 13:51 -0700
  Re: Thoughts on function hanukas <jukka@liimatta.org> - 2011-09-19 06:19 -0700

csiph-web