12345678910111213141516171819202122232425262728293031323334 |
- #pragma warning disable CS1591
- using System;
- using System.Net;
- using System.Threading;
- using System.Threading.Tasks;
- namespace MediaBrowser.Model.Net
- {
- /// <summary>
- /// Provides a common interface across platforms for UDP sockets used by this SSDP implementation.
- /// </summary>
- public interface ISocket : IDisposable
- {
- IPAddress LocalIPAddress { get; }
- Task<SocketReceiveResult> ReceiveAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
- IAsyncResult BeginReceive(byte[] buffer, int offset, int count, AsyncCallback callback);
- SocketReceiveResult EndReceive(IAsyncResult result);
- /// <summary>
- /// Sends a UDP message to a particular end point (uni or multicast).
- /// </summary>
- /// <param name="buffer">An array of type <see cref="byte" /> that contains the data to send.</param>
- /// <param name="offset">The zero-based position in buffer at which to begin sending data.</param>
- /// <param name="bytes">The number of bytes to send.</param>
- /// <param name="endPoint">An <see cref="IPEndPoint" /> that represents the remote device.</param>
- /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
- /// <returns>The task object representing the asynchronous operation.</returns>
- Task SendToAsync(byte[] buffer, int offset, int bytes, IPEndPoint endPoint, CancellationToken cancellationToken);
- }
- }
|