/// <summary> /// Create a new network writer for a connected socket /// </summary> public NetworkWriter(NetworkMessenger messenger, TcpClient tcpClient, Guid repositoryId, Guid channelId, long sequenceOffset, int majorVersion, int minorVersion) : base(tcpClient, majorVersion, minorVersion) { if (channelId == Guid.Empty) { throw new ArgumentNullException(nameof(channelId)); } lock (m_Lock) //since we promptly access these variables from another thread, I'm adding this as paranoia to ensure they get synchronized. { m_Messenger = messenger; m_RepositoryId = repositoryId; m_ChannelId = channelId; m_SequenceOffset = sequenceOffset; } }
/// <summary> /// Create a new network writer for a connected socket /// </summary> public NetworkWriter(NetworkMessenger messenger, TcpClient tcpClient, Guid repositoryId, Guid channelId, long sequenceOffset = 0) : this(messenger, tcpClient, repositoryId, channelId, sequenceOffset, FileHeader.DefaultMajorVersion, FileHeader.DefaultMinorVersion) { }
/// <summary> /// Create a new network writer for a remote server /// </summary> public NetworkWriter(NetworkMessenger messenger, NetworkConnectionOptions options, Guid repositoryId, Guid channelId, long sequenceOffset = 0) : this(messenger, options, repositoryId, channelId, sequenceOffset, FileHeader.DefaultMajorVersion, FileHeader.DefaultMinorVersion) { }