Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions Hazelcast.Net/Hazelcast.Client.Connection/ClientConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,6 @@ public ClientConnection(ClientConnectionManager clientConnectionManager,

var isa = address.GetInetSocketAddress();
var socketOptions = clientNetworkConfig.GetSocketOptions();
var socketFactory = socketOptions.GetSocketFactory() ?? new DefaultSocketFactory();
_clientSocket = socketFactory.CreateSocket();

try
{
_clientSocket = new Socket(isa.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
Expand Down
27 changes: 0 additions & 27 deletions Hazelcast.Net/Hazelcast.Client.Connection/DefaultSocketFactory.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace Hazelcast.Client.Protocol
/// Message type ids of event responses in client protocol. They also used to bind a request to event inside Request
/// annotation.
/// </remarks>
public sealed class EventMessageConst
internal sealed class EventMessageConst
{
public const int EventMember = 200;
public const int EventMemberList = 201;
Expand Down
92 changes: 79 additions & 13 deletions Hazelcast.Net/Hazelcast.Client.Protocol/IClientMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,95 @@

namespace Hazelcast.Client.Protocol
{
/// <summary>
/// Client Message is the carrier framed data as defined below.
/// </summary>
/// <remarks>
/// <p>
/// Client Message is the carrier framed data as defined below.
/// </p>
/// <p>
/// Any request parameter, response or event data will be carried in
/// the payload.
/// </p>
/// <p />
/// <pre>
/// 0 1 2 3
/// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/// |R| Frame Length |
/// +-------------+---------------+---------------------------------+
/// | Version |B|E| Flags | Type |
/// +-------------+---------------+---------------------------------+
/// | |
/// + CorrelationId +
/// | |
/// +---------------------------------------------------------------+
/// | PartitionId |
/// +-----------------------------+---------------------------------+
/// | Data Offset | |
/// +-----------------------------+ |
/// | Message Payload Data ...
/// | ...
/// </pre>
/// </remarks>
public interface IClientMessage
{
/// <summary>Sets the flags field value.</summary>
/// <param name="flags">The value to set in the flags field.</param>
/// <returns>The ClientMessage with the new flags field value.</returns>
IClientMessage AddFlag(short flags);

/// <param name="listenerEventFlag">Check this flag to see if it is set.</param>
/// <returns>true if the given flag is set, false otherwise.</returns>
bool IsFlagSet(short listenerEventFlag);

/// <summary>Returns the flags field value.</summary>
/// <returns>The flags field value.</returns>
short GetFlags();

/// <summary>Returns the message type field.</summary>
/// <returns>The message type field value.</returns>
int GetMessageType();

/// <summary>Returns the correlation ID field.</summary>
/// <returns>The correlation ID field.</returns>
long GetCorrelationId();

/// <summary>Sets the correlation ID field.</summary>
/// <param name="correlationId">The value to set in the correlation ID field.</param>
/// <returns>The ClientMessage with the new correlation ID field value.</returns>
IClientMessage SetCorrelationId(long correlationId);

/// <summary>Returns the partition ID field.</summary>
/// <returns>The partition ID field.</returns>
int GetPartitionId();

/// <summary>Sets the partition ID field.</summary>
/// <param name="partitionId">The value to set in the partitions ID field.</param>
/// <returns>The ClientMessage with the new partitions ID field value.</returns>
IClientMessage SetPartitionId(int partitionId);

/// <summary>Returns the frame length field.</summary>
/// <returns>The frame length field.</returns>
int GetFrameLength();

/// <summary>Returns the version field value.</summary>
/// <returns>The version field value.</returns>
short GetVersion();

/// <summary>Checks the frame size and total data size to validate the message size.</summary>
/// <returns>true if the message is constructed.</returns>
bool IsComplete();

bool IsRetryable();
bool GetBoolean();
byte GetByte();
long GetCorrelationId();
IData GetData();
short GetShort();
int GetInt();
long GetLong();
KeyValuePair<IData, IData> GetMapEntry();
int GetMessageType();
int GetPartitionId();
string GetStringUtf8();
bool IsFlagSet(short listenerEventFlag);
bool IsRetryable();
bool IsComplete();

/// <summary>Sets the correlation id field.</summary>
/// <param name="correlationId">The value to set in the correlation id field.</param>
/// <returns>The ClientMessage with the new correlation id field value.</returns>
IClientMessage SetCorrelationId(long correlationId);

IClientMessage SetPartitionId(int partitionId);
}
}
2 changes: 1 addition & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientClusterService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
using Hazelcast.Security;
using Hazelcast.Util;
using ICredentials = Hazelcast.Security.ICredentials;

#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <summary>
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
using Hazelcast.Config;
using Hazelcast.IO.Serialization;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal sealed class ClientContext
{
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientExecutionService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
using Hazelcast.Core;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal sealed class ClientExecutionService : IClientExecutionService
{
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientInvocation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
using Hazelcast.IO;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class ClientInvocation
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
using Hazelcast.Logging;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal abstract class ClientInvocationService : IClientInvocationService, IConnectionListener
{
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientListenerService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
using Hazelcast.Logging;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class
ClientListenerService : IClientListenerService, IConnectionListener, IConnectionHeartbeatListener, IDisposable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
using Hazelcast.Logging;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class ClientMembershipListener
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
using Hazelcast.IO;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class ClientNonSmartInvocationService : ClientInvocationService
{
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientPartitionService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
using Hazelcast.Net.Ext;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal sealed class
ClientPartitionService : IClientPartitionService
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/ClientProxy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
using Hazelcast.Partition.Strategy;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal abstract class ClientProxy : IDistributedObject
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
using Hazelcast.IO;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class ClientSmartInvocationService : ClientInvocationService
{
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/EventRegistration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

using Hazelcast.Client.Connection;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
internal class EventRegistration
{
Expand Down
21 changes: 19 additions & 2 deletions Hazelcast.Net/Hazelcast.Client.Spi/Exception.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,41 +16,58 @@
using Hazelcast.Core;
using Hazelcast.IO;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <summary>
/// Marker interface for exceptions to indicate that an operation can be retried.
/// E.g. a map.get sent to a machine where the partition has just moved to another machine.
/// </summary>
[Serializable]
public class RetryableHazelcastException : HazelcastException
{
/// <inheritdoc />
public RetryableHazelcastException()
{
}

/// <inheritdoc />
public RetryableHazelcastException(string message) : base(message)
{
}
}

/// <summary>
/// A <see cref="RetryableHazelcastException"/> that indicates operation is sent to a machine that isn't member of the cluster
/// </summary>
[Serializable]
public class TargetNotMemberException : RetryableHazelcastException
{
/// <inheritdoc />
public TargetNotMemberException(string message) : base(message)
{
}
}

/// <summary>
/// Thrown when a client invocation is failed because related target is disconnected, and
/// whether the invocation runs or not is indeterminate
/// </summary>
[Serializable]
public class TargetDisconnectedException : RetryableHazelcastException
{
/// <inheritdoc />
public TargetDisconnectedException(Address address) : base("Target[" + address + "] disconnected.")
{
}

/// <inheritdoc />
public TargetDisconnectedException(Address address, string message)
: base("Target[" + address + "] disconnected, " + message)
{
}


/// <inheritdoc />
public TargetDisconnectedException(string msg) : base(msg)
{
}
Expand Down
3 changes: 2 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/IClientClusterService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
using Hazelcast.Core;
using Hazelcast.IO;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <author>mdogan 5/16/13</author>
public interface IClientClusterService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@
using System.Threading.Tasks;
using Hazelcast.Core;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <summary>
/// Executor service for Hazelcast clients.
/// </summary>
public interface IClientExecutionService
{
Task Schedule(Action command, long delay, TimeUnit unit);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
using Hazelcast.IO;
using Hazelcast.Util;

#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <summary>
Expand Down
10 changes: 9 additions & 1 deletion Hazelcast.Net/Hazelcast.Client.Spi/IClientListenerService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,16 @@
using Hazelcast.Client.Protocol;
using Hazelcast.Util;

namespace Hazelcast.Client.Spi
#pragma warning disable CS1591
namespace Hazelcast.Client.Spi
{
/// <summary>
/// Client service to add/remove remote listeners.
/// </summary>
/// <remarks>
/// For smart client, it registers local listeners to all nodes in the cluster.
/// For dummy client, it registers global listener to one node.
/// </remarks>
public interface IClientListenerService
{
bool AddEventHandler(long correlationId, DistributedEventHandler eventHandler);
Expand Down
Loading