<commit_before>gomahawk
========

WIP implementation of the [Network Protocol of tomahawk](http://wiki.tomahawk-player.org/index.php/Network_Protocol) in golang

Install
=======

	go get github.com/MStoykov/gomahawk


Usage 
=====

Import
------
	
	import (
		"github.com/MStoykov/gomahawk"
	)

Implement Tomahawk Interface
----------------------------

look at [examples](./examples/) for more examples of how to use the api


Make new Gomahawk instance
--------------------------

	g := NewGomahawkImpl()
	gs := gomahawk.NewGomahawkServer(g)
	err := gs.ListenTo(net.ParseIP("192.168.1.13"), "50210") // Listen on 192.168.1.13 and the default tomahawk port
	// error checking
	gs.Start()

Requesting DBConnection
-----------------------
This is used to get the changes from the remote<commit_msg>Add Features to the Readme<commit_after>gomahawk
========

WIP implementation of the [Network Protocol of tomahawk](http://wiki.tomahawk-player.org/index.php/Network_Protocol) in golang

Install
=======

	go get github.com/MStoykov/gomahawk

Features                                                                                                                                                                            
========                                                                                                                                                                            
                                                                                                                                                                                    
Done                                                                                                                                                                                
----                                                                                                                                                                                
                                                                                                                                                                                    
* Advertising the instance                                                                                                                                                          
* Incoming connections                                                                                                                                                              
* Request for DBConnection                                                                                                                                                          
* Request for StreamConnection                                                                                                                                                      
* All the Documented dbsync commands                                                                                                                                                
                                                                                                                                                                                    
                                                                                                                                                                                    
Planned                                                                                                                                                                             
-------                                                                                                                                                                             
                                                                                                                                                                                    
* Listen for advertising                                                                                                                                                            
* Making ControlConnections                                                                                                                                                         
* Reverse Connections (Requests for connections and Answering Requests)                                                                                                             
* Answering DBConnection requests                                                                                                                                                   
* DBsync from us to the opposite side                                                                                                                                               
* Answering StreamConnections                                                                                                                                                       
* Basic implementations for some parts needed for the client of gomahawk       
	* InMemory searchable database for remote instances
	* etc.
* Implementing the nondocumented dbsync commands

Usage 
=====

Import
------
	
	import (
		"github.com/MStoykov/gomahawk"
	)

Implement Tomahawk Interface
----------------------------

look at [examples](./examples/) for more examples of how to use the api


Make new Gomahawk instance
--------------------------

	g := NewGomahawkImpl()
	gs := gomahawk.NewGomahawkServer(g)
	err := gs.ListenTo(net.ParseIP("192.168.1.13"), "50210") // Listen on 192.168.1.13 and the default tomahawk port
	// error checking
	gs.Start()

Requesting DBConnection
-----------------------
This is used to get the changes from the remote
{'fraction_non_alphanumeric': 0.06558228067139643, 'fraction_numerical': 0.007959854646132549, 'mean_word_length': 0.40393490405635174, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 4, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 161, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6281349', 'n_tokens_mistral': 735, 'n_tokens_neox': 673, 'n_words': 206}