~jheiss/galera/galera

« back to all changes in this revision

Viewing changes to galera/src/key.hpp

  • Committer: Alex Yurchenko
  • Date: 2012-01-16 03:54:07 UTC
  • mto: This revision was merged to the branch mainline in revision 109.
  • Revision ID: ayurchen@void-20120116035407-fnlisz8pubqxh1m5
References lp:915499, lp:907071 - synced with SVN r2671

Show diffs side-by-side

added added

removed removed

Lines of Context:
127
127
    public:
128
128
        Key(int version) : version_(version), keys_() { }
129
129
 
130
 
        Key(int version, const wsrep_key_t* keys, size_t keys_len)
 
130
        Key(int version, const wsrep_key_part_t* keys, size_t keys_len)
131
131
            :
132
132
            version_(version),
133
133
            keys_   ()
143
143
            case 0:
144
144
                for (size_t i(0); i < keys_len; ++i)
145
145
                {
146
 
                    if (keys[i].key_len > 256)
 
146
                    if (keys[i].buf_len > 256)
147
147
                    {
148
148
                        gu_throw_error(EINVAL)
149
 
                            << "key part length " << keys[i].key_len
 
149
                            << "key part length " << keys[i].buf_len
150
150
                            << " greater than max 256";
151
151
                    }
152
 
                    gu::byte_t len(keys[i].key_len);
 
152
                    gu::byte_t len(keys[i].buf_len);
153
153
                    const gu::byte_t* base(reinterpret_cast<const gu::byte_t*>(
154
 
                                               keys[i].key));
 
154
                                               keys[i].buf));
155
155
                    keys_.push_back(len);
156
156
                    keys_.insert(keys_.end(), base, base + len);
157
157
                }
160
160
                for (size_t i(0); i < keys_len; ++i)
161
161
                {
162
162
                    size_t const offset(keys_.size());
163
 
                    size_t key_len(keys[i].key_len);
 
163
                    size_t key_len(keys[i].buf_len);
164
164
                    const gu::byte_t* base(reinterpret_cast<const gu::byte_t*>(
165
 
                                               keys[i].key));
 
165
                                               keys[i].buf));
166
166
#ifndef GALERA_KEY_VLQ
167
167
                    if (gu_unlikely(key_len > 0xff)) key_len = 0xff;
168
168
                    keys_.reserve(offset + 1 + key_len);