Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the documentation with latest updates for Node.js client #466

Merged
merged 13 commits into from
Nov 15, 2018

Conversation

ihsandemir
Copy link
Collaborator

Updated the documentation with new document structure and contents.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

Copy link
Contributor

@Serdaro Serdaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving now, but I will be sending a PR soon after I finish to copyedit the Node.js client's Readme to preserve various content standards among the non-Java client documentation.

…lient README update commit number 2e024a8e20c8e26f3f09542aed1915e14c60f3b6 .
@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

Copy link
Contributor

@Serdaro Serdaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed.

README.md Outdated
* [7.3. Handling Failures](#73-handling-failures)
* [7.3.1. Handling Client Connection Failure](#731-handling-client-connection-failure)
* [7.3.2. Handling Retry-able Operation Failure](#732-handling-retry-able-operation-failure)
* [7.3.3. Backpressure](#732-backpressure)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(#733-backpressure)

README.md Outdated
* [7.3.1. Handling Client Connection Failure](#731-handling-client-connection-failure)
* [7.3.2. Handling Retry-able Operation Failure](#732-handling-retry-able-operation-failure)
* [7.3.3. Backpressure](#732-backpressure)
* [7.3.4. Client Connection Strategy](#732-client-connection-strategy)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(#734-client-connection-strategy)

README.md Outdated
age = reader.readInt( "a" );
}
}
## 7.3.5 Configure Client Reconnect Strategy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

### 7.3.4.1 Configuring Client Reconnect Strategy

README.md Outdated
* [7.3.2. Handling Retry-able Operation Failure](#732-handling-retry-able-operation-failure)
* [7.3.3. Backpressure](#732-backpressure)
* [7.3.4. Client Connection Strategy](#732-client-connection-strategy)
* [7.3.4. Client Reconnect Strategy](#732-client-reconnection-strategy)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

README.md Show resolved Hide resolved
README.md Outdated
Follow the below steps to build and install Hazelcast C++ client from its source:

1. Clone the project from github: `git clone --recursive git@github.com:hazelcast/hazelcast-cpp-client.git` We use --recursive flag for our dependency on googletest framework.
2. Create a build directory (e.g. build) from the root of the project. In the build directory, run the cmake command depending on your environment as depicted in the next sections.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Create a build directory, e.g., build, from the ...

README.md Outdated
* Java 6 or newer
* Maven
* cmake
* openssl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • OpenSSL

README.md Outdated
* openssl
* Python 2 and pip (Needed for RemoteController used for controlling server instances)

You can also pull our test docker images from docker hub using the command: `docker pull ihsan/gcc_346_ssl` This images has all the tools for building the project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also pull our test docker images from the docker hub using the following command: docker pull ihsan/gcc_346_ssl. These images have all the tools for building the project.

README.md Outdated
- Windows: `./testWindowsSingleCase.bat 64 SHARED Debug`

### 8.2.1 Tested Platforms
Our CI tests are run continuously on the following platforms and compilers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our CI tests run ...

README.md Outdated
Sometimes you may want to reproduce the released library for your own compiler environment. You need to run the release script and it will produce a release folder named "cpp".

Note:
- The default release scripts require that you have openssl (version 1.0.2) installed in your development environment.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... have OpenSSL ...

Copy link
Contributor

@Serdaro Serdaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two minor leftovers.

README.md Outdated
HazelcastClient client(config);
mixedtype::HazelcastClient &hazelcastClient = client.toMixedType();
```
The `mixedtype::HazelcastClient` interface is designed to provide you the data structures which allows you to work with any object types in a mixed manner. For example, the interface allows you to provide
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the above comment has been skipped.

README.md Outdated
@@ -795,489 +1118,281 @@ You can set the protocol as one of the following values:
```
sslv2, sslv3, tlsv1, sslv23, tlsv11, tlsv12
```
The default value for the protocol if not set is tlsv12. The SSLConfig.setEnabled should be called explicitly to enable the SSL.
The path of the certificate should be correctly provided.
The SSLConfig.setEnabled should be called explicitly to enable the SSL. The path of the certificate should be correctly provided.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous review has been skipped:

The SSLConfig.setEnabled method should be called explicitly to enable the SSL.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

Copy link
Contributor

@Serdaro Serdaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test FAILed.

@devOpsHazelcast
Copy link
Contributor

Linux test FAILed.

…table is recommended.

Added the section headings for "to be added sections" for Performance and Logging.
@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test FAILed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

1 similar comment
@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

README.md Outdated

Note that `Employee` is implementing `Portable`. As portable types are not deserialized on server side for querying, you don't need to implement its Java equivalent on the server side.

For type that are not of portable types, you need to implement its Java equivalent and its serializable factory on the server side for server to reconstitute the objects from binary formats.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the beginning should be something like For nonportable types

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of saying For type that are not of portable types, we can say For the non-portable types.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the non-portable types, you need ...

README.md Outdated
* [7.9 Mixed Object Types Supporting HazelcastClient](#79-mixed-object-types-supporting-hazelcastclient)
* [7.9.1 TypedData API](#791-typeddata-api)
* [7.8. Performance](#78-performance)
* [7.8.1. Partition Aware](#781-partition-aware)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more indentation for 7.8.1 is needed.

README.md Outdated
@@ -624,7 +626,7 @@ When Hazelcast serializes an object into Data (byte array):

1. It first checks whether the object pointer is NULL.

2. If the above check fails, then the object is serialized using the serializer that matches the object type. The object type is determined using the free function `int32_t getHazelcastTypeId(const T *object);`. This method returns the constant built-int serializer type ID for the built-in types such as int32_t, bool, short and byte. If it does not match any of the built-in types, it may match the types offered by Hazelcast, i.e., IdentifiedDataSerializable, Portable or custom. The matching is done based on method parameter matching.
2. If the above check fails, then the object is serialized using the serializer that matches the object type. The object type is determined using the free function `int32_t getHazelcastTypeId(const T *object);`. This method returns the constant built-int serializer type ID for the built-in types such as `byte`, `char`, `int32_t`, `bool`, `int64_t`, etc. If it does not match any of the built-in types, it may match the types offered by Hazelcast, i.e., IdentifiedDataSerializable, Portable or custom. The matching is done based on method parameter matching.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... such as byte, char, int32_t, bool and int64_t.

README.md Outdated
std::string name;
bool active;
double salary;
};
```

Note that `Employee` is an `IdentifiedDataSerializable` object. If you just want to save the `Employee` objects as byte arrays on the map, you don't need to implement its equivalent on the server-side. However, if you want to query on the `employee` map, the server needs the `Employee` objects rather than byte array formats. Therefore, you need to implement its Java equivalent and its data serializable factory on the server side for server to reconstitute the objects from binary formats. After implementing the Java class and its factory, you need to add the factory to the data serializable factories or the portable factories by giving a factory `id`. The following is an example declarative configuration on the server.
Note that `Employee` is implementing `Portable`. As portable types are not deserialized on server side for querying, you don't need to implement its Java equivalent on the server side.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... on the server side for querying ...

README.md Outdated

Note that `Employee` is implementing `Portable`. As portable types are not deserialized on server side for querying, you don't need to implement its Java equivalent on the server side.

For type that are not of portable types, you need to implement its Java equivalent and its serializable factory on the server side for server to reconstitute the objects from binary formats.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the non-portable types, you need ...

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Linux test FAILed.

@devOpsHazelcast
Copy link
Contributor

Linux test PASSed.

@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

1 similar comment
@devOpsHazelcast
Copy link
Contributor

Windows test PASSed.

@ihsandemir ihsandemir merged commit 07d36d8 into hazelcast:master Nov 15, 2018
@ihsandemir ihsandemir deleted the docUpdate branch November 15, 2018 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants