webminerpool/server/Server/EmptyWebsocket.cs

173 lines
4.0 KiB
C#
Raw Normal View History

2018-04-03 15:16:24 +00:00
// The MIT License (MIT)
// Copyright (c) 2018 - the webminerpool developer
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2018-03-28 17:06:02 +00:00
using System;
using System.Collections.Generic;
using Fleck;
2018-04-03 15:16:24 +00:00
namespace Server {
2018-03-28 17:06:02 +00:00
2018-04-03 15:16:24 +00:00
public class EmptyConnectionInfo : IWebSocketConnectionInfo {
2018-03-28 17:06:02 +00:00
#region IWebSocketConnectionInfo implementation
public string SubProtocol {
get {
throw new NotImplementedException ();
}
}
public string Origin {
get {
throw new NotImplementedException ();
}
}
public string Host {
get {
throw new NotImplementedException ();
}
}
public string Path {
get {
throw new NotImplementedException ();
}
}
public string ClientIpAddress {
get {
return "127.0.0.1";
}
}
public int ClientPort {
get {
throw new NotImplementedException ();
}
}
public IDictionary<string, string> Cookies {
get {
throw new NotImplementedException ();
}
}
public IDictionary<string, string> Headers {
get {
throw new NotImplementedException ();
}
}
public Guid Id {
get {
return Guid.Empty;
}
}
public string NegotiatedSubProtocol {
get {
throw new NotImplementedException ();
}
}
#endregion
}
2018-04-03 15:16:24 +00:00
public class EmptyWebsocket : IWebSocketConnection {
2018-03-28 17:06:02 +00:00
private static EmptyConnectionInfo eci =
2018-04-03 15:16:24 +00:00
new EmptyConnectionInfo ();
2018-03-28 17:06:02 +00:00
#region IWebSocketConnection implementation
2018-04-03 15:16:24 +00:00
public System.Threading.Tasks.Task Send (string message) {
2018-03-28 17:06:02 +00:00
//throw new NotImplementedException ();
return null;
}
2018-04-03 15:16:24 +00:00
public System.Threading.Tasks.Task Send (byte[] message) {
2018-03-28 17:06:02 +00:00
throw new NotImplementedException ();
}
2018-04-03 15:16:24 +00:00
public System.Threading.Tasks.Task SendPing (byte[] message) {
2018-03-28 17:06:02 +00:00
throw new NotImplementedException ();
}
2018-04-03 15:16:24 +00:00
public System.Threading.Tasks.Task SendPong (byte[] message) {
2018-03-28 17:06:02 +00:00
throw new NotImplementedException ();
}
2018-04-03 15:16:24 +00:00
public void Close () {
2018-03-28 17:06:02 +00:00
}
public Action OnOpen {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action OnClose {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action<string> OnMessage {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action<byte[]> OnBinary {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action<byte[]> OnPing {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action<byte[]> OnPong {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public Action<Exception> OnError {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public IWebSocketConnectionInfo ConnectionInfo {
get {
return EmptyWebsocket.eci;
}
}
public bool IsAvailable {
get {
return false;
}
}
#endregion
}
2018-04-03 15:16:24 +00:00
}