예제 #1
0
        /// <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;
            }
        }
예제 #2
0
 /// <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)
 {
 }
예제 #3
0
 /// <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)
 {
 }