kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
kinetic_client.h
Go to the documentation of this file.
1 /*
2 * kinetic-c
3 * Copyright (C) 2015 Seagate Technology.
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20 
21 #ifndef _KINETIC_CLIENT_H
22 #define _KINETIC_CLIENT_H
23 
24 #include "kinetic_types.h"
25 
32 
45 KineticClient * KineticClient_Init(KineticClientConfig *config);
46 
53 void KineticClient_Shutdown(KineticClient * const client);
54 
78  KineticClient * const client, KineticSession** session);
79 
89 KineticStatus KineticClient_DestroySession(KineticSession * const session);
90 
100 KineticStatus KineticClient_GetTerminationStatus(KineticSession * const session);
101 
109 KineticStatus KineticClient_NoOp(KineticSession* const session);
110 
126 KineticStatus KineticClient_Put(KineticSession* const session,
127  KineticEntry* const entry,
128  KineticCompletionClosure* closure);
129 
140 KineticStatus KineticClient_Flush(KineticSession* const session,
141  KineticCompletionClosure* closure);
142 
157 KineticStatus KineticClient_Get(KineticSession* const session,
158  KineticEntry* const entry,
159  KineticCompletionClosure* closure);
160 
179 KineticStatus KineticClient_GetPrevious(KineticSession* const session,
180  KineticEntry* const entry,
181  KineticCompletionClosure* closure);
182 
201 KineticStatus KineticClient_GetNext(KineticSession* const session,
202  KineticEntry* const entry,
203  KineticCompletionClosure* closure);
204 
217 KineticStatus KineticClient_Delete(KineticSession* const session,
218  KineticEntry* const entry,
219  KineticCompletionClosure* closure);
220 
238 KineticStatus KineticClient_GetKeyRange(KineticSession* const session,
239  KineticKeyRange* range, ByteBufferArray* keys,
240  KineticCompletionClosure* closure);
241 
262 KineticStatus KineticClient_P2POperation(KineticSession* const session,
263  KineticP2P_Operation* const p2pOp,
264  KineticCompletionClosure* closure);
265 
266 #endif // _KINETIC_CLIENT_H
KineticStatus KineticClient_CreateSession(KineticSessionConfig *const config, KineticClient *const client, KineticSession **session)
Creates a session with the Kinetic Device per specified configuration.
KineticStatus KineticClient_Flush(KineticSession *const session, KineticCompletionClosure *closure)
Executes a FLUSHALLDATA operation to flush pending PUTs or DELETEs.
Structure used to specify the configuration for a session.
KineticStatus KineticClient_GetPrevious(KineticSession *const session, KineticEntry *const entry, KineticCompletionClosure *closure)
Executes a GETPREVIOUS operation to retrieve the next entry from the Kinetic Device.
KineticVersionInfo KineticClient_Version(void)
Gets current version info of kinetic-c library.
KineticStatus KineticClient_NoOp(KineticSession *const session)
Executes a NOOP operation to test whether the Kinetic Device is operational.
KineticStatus KineticClient_DestroySession(KineticSession *const session)
Closes the connection to a host.
KineticStatus KineticClient_Delete(KineticSession *const session, KineticEntry *const entry, KineticCompletionClosure *closure)
Executes a DELETE operation to delete an entry from the Kinetic Device.
KineticStatus KineticClient_P2POperation(KineticSession *const session, KineticP2P_Operation *const p2pOp, KineticCompletionClosure *closure)
Executes a PEER2PEERPUSH operation allows a client to instruct a Kinetic Device to copy a set of keys...
Closure which can be specified for operations which support asynchronous mode.
Kinetic object instance.
kinetic-c library version info (returned from KineticClient_Version())
Definition: kinetic_types.h:64
Kinetic Key Range request structure.
KineticStatus KineticClient_GetKeyRange(KineticSession *const session, KineticKeyRange *range, ByteBufferArray *keys, KineticCompletionClosure *closure)
Executes a GETKEYRANGE operation to retrieve a set of keys in the range specified range from the Kine...
KineticStatus KineticClient_GetTerminationStatus(KineticSession *const session)
Returns the reason reported in the case of the Kinetic device terminating a session in the case of a ...
KineticStatus KineticClient_Get(KineticSession *const session, KineticEntry *const entry, KineticCompletionClosure *closure)
Executes a GET operation to retrieve an entry from the Kinetic Device.
KineticStatus
Kinetic status codes.
KineticStatus KineticClient_Put(KineticSession *const session, KineticEntry *const entry, KineticCompletionClosure *closure)
Executes a PUT operation to store/update an entry on the Kinetic Device.
Configuration values for the KineticClient connection.
void KineticClient_Shutdown(KineticClient *const client)
Performs shutdown/cleanup of the kinetic-c client library.
KineticClient * KineticClient_Init(KineticClientConfig *config)
Initializes the Kinetic API and configures logging.
KineticStatus KineticClient_GetNext(KineticSession *const session, KineticEntry *const entry, KineticCompletionClosure *closure)
Executes a GETNEXT operation to retrieve the next entry from the Kinetic Device.